@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff)format("woff")}:root{--vp-mist:#d7e2ea;--vp-line:#d7e2ea1f;--vp-mag:#b600a8;--vp-pur:#7621b0;--vp-org:#be4c00;--vp-hot:#ff8a3d;--vp-grad:linear-gradient(123deg, #18011f 7%, #b600a8 37%, #7621b0 72%, #be4c00 100%);--vp-grad-type:linear-gradient(100deg, #e65bd9 0%, #b600a8 32%, #8f4de0 66%, #ff8a3d 100%);--vp-ease:cubic-bezier(.16, 1, .3, 1)}.vp{color:var(--vp-mist)}.vp ::selection{color:#fff;background:#b600a8}.vp-label{text-transform:uppercase;letter-spacing:.12em;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem;font-weight:400;line-height:1.5}.vp-mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.vp-grad-text{background:var(--vp-grad-type);-webkit-text-fill-color:transparent;color:#0000;background-size:140% 100%;background-clip:text}.vp-email span{background:linear-gradient(90deg,#d7e2ea,#d7e2ea) 0 0/100% 100% no-repeat;-webkit-text-fill-color:transparent;transition:background-size .6s var(--vp-ease);background-clip:text}.vp-email:hover span,.vp-email:focus-visible span{background-image:var(--vp-grad-type)}.vp-grad-bg{background:var(--vp-grad)}.vp-focus:focus-visible,.vp a:focus-visible,.vp button:focus-visible,.vp [role=slider]:focus-visible,.vp input:focus-visible,.vp textarea:focus-visible{outline:2px solid var(--vp-hot);outline-offset:3px}.vp-brackets{--c:#d7e2eabf;--l:14px;--t:1px;pointer-events:none;background:linear-gradient(var(--c), var(--c)) top left / var(--l) var(--t) no-repeat, linear-gradient(var(--c), var(--c)) top left / var(--t) var(--l) no-repeat, linear-gradient(var(--c), var(--c)) top right / var(--l) var(--t) no-repeat, linear-gradient(var(--c), var(--c)) top right / var(--t) var(--l) no-repeat, linear-gradient(var(--c), var(--c)) bottom left / var(--l) var(--t) no-repeat, linear-gradient(var(--c), var(--c)) bottom left / var(--t) var(--l) no-repeat, linear-gradient(var(--c), var(--c)) bottom right / var(--l) var(--t) no-repeat, linear-gradient(var(--c), var(--c)) bottom right / var(--t) var(--l) no-repeat;position:absolute;inset:0}.vp-brackets--hover{opacity:0;transition:opacity .35s var(--vp-ease), transform .5s var(--vp-ease);transform:scale(1.035)}.group:hover .vp-brackets--hover,.group:focus-visible .vp-brackets--hover{opacity:1;transform:scale(.965)}.vp-buckets{pointer-events:none;z-index:2;display:grid;position:absolute;inset:0}.vp-bucket{opacity:0;background:#000;position:relative}.vp-bucket:after{content:"";border:1px solid var(--vp-hot);opacity:0;position:absolute;inset:0}.vp-ready .vp-bucket{opacity:1}.vp-ready .is-in>.vp-buckets .vp-bucket,.vp-ready .vp-buckets.is-in .vp-bucket{animation:vp-bucket .46s linear var(--d,0s) both}.vp-ready .is-in>.vp-buckets .vp-bucket:after,.vp-ready .vp-buckets.is-in .vp-bucket:after{animation:vp-bucket-edge .46s linear var(--d,0s) both}@keyframes vp-bucket{0%,62%{opacity:1}to{opacity:0}}@keyframes vp-bucket-edge{0%{opacity:0}18%,62%{opacity:1}to{opacity:0}}.vp-lines{display:block}.vp-line{margin-bottom:-.06em;padding-bottom:.06em;display:block;overflow:hidden}.vp-line>span{display:inline-block}.vp-settled .vp-line{overflow:visible}.vp-grad-v{background:linear-gradient(#f07ee6 0%,#b600a8 45%,#ff8a3d 100%);-webkit-text-fill-color:transparent;color:#0000;background-clip:text;margin-inline:-.05em;padding-inline:.05em}.vp-ready .vp-reveal:not(.is-in) .vp-line>span{transform:translateY(108%)}.vp-ready .vp-reveal .vp-line>span{transition:transform 1.1s var(--vp-ease) calc(var(--i,0) * 70ms)}.vp-ready .vp-fade:not(.is-in){opacity:0;transform:translateY(28px)}.vp-ready .vp-fade{transition:opacity .9s var(--vp-ease) var(--delay,0s), transform 1.1s var(--vp-ease) var(--delay,0s)}.vp-rise{animation:vp-rise 1.2s var(--vp-ease) calc(.15s + var(--i,0) * 45ms) both;display:inline-block}.vp-appear{animation:vp-appear 1s var(--vp-ease) var(--delay,.6s) both}@keyframes vp-rise{0%{transform:translateY(105%)}to{transform:none}}@keyframes vp-appear{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.vp-floor{transform-origin:50% 100%;pointer-events:none;background-image:linear-gradient(#d7e2ea29 1px,#0000 1px),linear-gradient(90deg,#d7e2ea29 1px,#0000 1px);background-position:bottom;background-size:64px 64px;height:72%;position:absolute;bottom:-2px;left:-60%;right:-60%;transform:perspective(620px)rotateX(58deg);mask-image:linear-gradient(#0000 8%,#0009 60%,#000 100%)}.vp-horizon{pointer-events:none;background:linear-gradient(90deg,#0000,#b600a88c,#ff8a3d8c,#0000);height:1px;position:absolute;left:0;right:0}.vp-pulse{animation:1.8s ease-in-out infinite vp-pulse}@keyframes vp-pulse{0%,to{opacity:1}50%{opacity:.25}}.vp-glitch-wire{animation:.25s step-end both vp-glitch-wire}.vp-glitch-base{animation:.25s step-end both vp-glitch-base}@keyframes vp-glitch-wire{0%{clip-path:inset(8% 0 60%);transform:translate(-7px)}18%{clip-path:inset(38% 0 30%);transform:translate(6px)}34%{clip-path:inset(0);transform:translate(-3px)}70%{clip-path:inset(0);transform:none}82%{clip-path:inset(55% 0 12%);transform:translate(5px)}to{clip-path:inset(0);transform:none}}@keyframes vp-glitch-base{0%{opacity:1;transform:translate(3px)}34%{opacity:0}70%{opacity:0}82%{opacity:1;transform:translate(-4px)}to{opacity:1;transform:none}}.vp-grade img[data-graded]{transition:filter .7s var(--vp-ease) var(--gd,0s)}.vp-grade[data-grade=values] img[data-graded]{filter:grayscale()contrast(1.05)}.vp-grade[data-grade=notan] img[data-graded]{filter:grayscale()contrast(14)brightness(1.04)}.vp-masonry{-moz-column-gap:14px;-moz-columns:2;columns:2;column-gap:14px}@media (width>=768px){.vp-masonry{-moz-columns:3;columns:3;-moz-column-gap:18px;column-gap:18px}}@media (width>=1280px){.vp-masonry{-moz-columns:4;columns:4}}.vp-masonry>*{-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:14px}@media (width>=768px){.vp-masonry>*{margin-bottom:18px}}.vp-space{perspective:1300px;perspective-origin:50% 46%;cursor:grab}.vp-space:active{cursor:grabbing}.vp-float{will-change:transform;backface-visibility:hidden;transition:box-shadow .4s var(--vp-ease);cursor:pointer;border-radius:3px;box-shadow:0 24px 60px #0000008c}.vp-float.is-hover,.vp-float:focus-visible{box-shadow:0 0 0 1px #d7e2ea8c,0 30px 90px #b600a847,0 30px 70px #000000b3}.vp-float-brackets{opacity:0;transition:opacity .35s var(--vp-ease)}.vp-float.is-hover .vp-float-brackets,.vp-float:focus-visible .vp-float-brackets{opacity:1}.vp-float-label{letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .3s var(--vp-ease), transform .4s var(--vp-ease);pointer-events:none;justify-content:space-between;gap:12px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.6rem;display:flex;position:absolute;top:calc(100% + 12px);left:0;right:0;transform:translateY(-4px)}.vp-float.is-hover .vp-float-label,.vp-float:focus-visible .vp-float-label{opacity:1;transform:none}.vp-float-tag{letter-spacing:.12em;text-transform:uppercase;color:#d7e2ead9;background:#000000a6;border-radius:999px;padding:2px 7px;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.52rem;position:absolute;top:8px;left:8px}.vp-float.is-found:after{content:"";border:1px solid var(--vp-hot);animation:vp-found 1.5s var(--vp-ease) both;pointer-events:none;border-radius:6px;position:absolute;inset:-10px}@keyframes vp-found{0%{opacity:0;transform:scale(1.15)}25%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}.vp-orb{box-shadow:none;background:0 0;border-radius:50%}.vp-orb.is-hover,.vp-orb:focus-visible{box-shadow:none}.vp-orb:before{content:"";background:radial-gradient(circle, var(--orb-glow) 0%, var(--orb-haze) 38%, transparent 68%);opacity:.75;animation:vp-orb-breathe 5.5s ease-in-out var(--orb-delay,0s) infinite alternate;pointer-events:none;transition:opacity .4s var(--vp-ease);border-radius:50%;position:absolute;inset:-38%}.vp-orb.is-hover:before,.vp-orb:focus-visible:before{opacity:1}.vp-orb-ball{clip-path:circle(50%);background:radial-gradient(circle at 50% 40%,#1c1a22,#050505 75%);border-radius:50%;position:absolute;inset:0;overflow:hidden}.vp-orb-ring{box-shadow:0 0 0 1px var(--orb-rim), 0 18px 50px #0009;pointer-events:none;transition:box-shadow .4s var(--vp-ease);border-radius:50%;position:absolute;inset:0}.vp-orb.is-hover .vp-orb-ring,.vp-orb:focus-visible .vp-orb-ring{box-shadow:0 0 0 2px var(--orb), 0 18px 60px #000000a6}.vp-orb-ball img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;animation:vp-orb-turn 18s ease-in-out var(--orb-delay,0s) infinite alternate;position:absolute;inset:0;transform:scale(1.32)}.vp-orb-ball:after{content:"";pointer-events:none;background:radial-gradient(circle at 31% 25%, #ffffff6b, #fff0 30%), radial-gradient(circle at 50% 50%, #0000 55%, var(--orb-haze) 82%, var(--orb-rim) 100%), radial-gradient(circle at 66% 80%, #0009, #0000 58%);border-radius:50%;position:absolute;inset:0}.vp-orb-title,.vp-orb-count{white-space:nowrap;text-transform:uppercase;pointer-events:none;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;position:absolute;left:50%;transform:translate(-50%)}.vp-orb-title{letter-spacing:.16em;color:var(--vp-mist);text-shadow:0 0 14px var(--orb-glow), 0 0 2px #000000e6;font-size:.74rem;bottom:calc(100% + 16px)}.vp-orb-count{letter-spacing:.14em;color:#d7e2ea8c;font-size:.56rem;top:calc(100% + 14px)}.vp-orb.is-found:after{border-radius:50%}@keyframes vp-orb-turn{0%{transform:scale(1.32)translate(-7%,-1.5%)}to{transform:scale(1.32)translate(7%,1.5%)}}@keyframes vp-orb-breathe{0%{opacity:.55;transform:scale(.94)}to{opacity:.9;transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.vp-orb:before,.vp-orb-ball img{animation:none}}.vp-space-dust{pointer-events:none;opacity:.8;background-image:radial-gradient(1px 1px at 12% 18%,#d7e2ea59,#0000 60%),radial-gradient(1px 1px at 68% 32%,#d7e2ea40,#0000 60%),radial-gradient(1.5px 1.5px at 38% 74%,#ff8a3d59,#0000 60%),radial-gradient(1px 1px at 86% 82%,#d7e2ea4d,#0000 60%),radial-gradient(1px 1px at 22% 58%,#b600a866,#0000 60%),radial-gradient(1px 1px at 54% 8%,#d7e2ea40,#0000 60%);background-size:420px 380px;width:calc(100% + 420px);height:calc(100% + 380px);animation:60s linear infinite vp-dust;position:absolute;top:0;left:0}@keyframes vp-dust{0%{transform:translate(0,0)}to{transform:translate(-420px,-380px)}}.vp-timeline{scrollbar-width:thin;scrollbar-color:#d7e2ea40 transparent}.vp-track-line{background-image:linear-gradient(90deg,#d7e2ea29 50%,#0000 50%);background-position:0;background-repeat:repeat-x;background-size:8px 1px}.vp-range{appearance:none;cursor:pointer;background:0 0;width:100%;height:22px}.vp-range::-webkit-slider-runnable-track{background:#d7e2ea4d;height:1px}.vp-range::-moz-range-track{background:#d7e2ea4d;height:1px}.vp-range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--vp-mist);border-radius:50%;width:14px;height:14px;margin-top:-7px;box-shadow:0 0 0 4px #b600a859}.vp-range::-moz-range-thumb{background:var(--vp-mist);border:0;border-radius:50%;width:14px;height:14px;box-shadow:0 0 0 4px #b600a859}.vp-flow{background:linear-gradient(90deg,#0000,#ff8a3de6,#0000) 0 0/30% 100% no-repeat;animation:2.8s linear infinite vp-flow;position:absolute;inset:0}.vp-flow--v{background:linear-gradient(#0000,#ff8a3de6,#0000) 0 0/100% 30% no-repeat;animation-name:vp-flow-v}@keyframes vp-flow{0%{background-position:-40% 0}to{background-position:140% 0}}@keyframes vp-flow-v{0%{background-position:0 -40%}to{background-position:0 140%}}.vp-grain{z-index:45;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.vp-bucket,.vp-ready .vp-bucket{display:none}.vp-rise,.vp-appear{animation:none}.vp-ready .vp-reveal:not(.is-in) .vp-line>span,.vp-ready .vp-fade:not(.is-in){opacity:1;transform:none}.vp-flow,.vp-pulse,.vp-space-dust{animation:none}.vp-grade img[data-graded]{transition:none}}
