button[aria-label="Toggle dark mode"],button[x-on\:click*=darkMode],.dark-mode-toggle{min-width:44px;min-height:44px}a[href*="/tags/"],a[href*="/tag/"]{min-height:44px;display:inline-flex;align-items:center;padding-top:8px;padding-bottom:8px}nav a[hreflang]{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}button[aria-label=Search],#search-toggle{min-width:44px;min-height:44px}html:root{--color-neutral-50:#F4F5F4;--color-neutral-100:#E5E7E7;--color-neutral-200:#CCD0CF;--color-neutral-300:#B3BCBD;--color-neutral-400:#9BA8AB;--color-neutral-500:#687882;--color-neutral-600:#4A5C6A;--color-neutral-700:#374957;--color-neutral-800:#253745;--color-neutral-900:#11212D;--color-neutral-950:#06141B;--color-gray-50:#F4F5F4;--color-gray-100:#E5E7E7;--color-gray-200:#CCD0CF;--color-gray-300:#B3BCBD;--color-gray-400:#9BA8AB;--color-gray-500:#687882;--color-gray-600:#4A5C6A;--color-gray-700:#374957;--color-gray-800:#253745;--color-gray-900:#11212D;--color-gray-950:#06141B;--color-slate-50:#F4F5F4;--color-slate-100:#E5E7E7;--color-slate-200:#CCD0CF;--color-slate-300:#B3BCBD;--color-slate-400:#9BA8AB;--color-slate-500:#687882;--color-slate-600:#4A5C6A;--color-slate-700:#374957;--color-slate-800:#253745;--color-slate-900:#11212D;--color-slate-950:#06141B;--color-zinc-50:#F4F5F4;--color-zinc-100:#E5E7E7;--color-zinc-200:#CCD0CF;--color-zinc-300:#B3BCBD;--color-zinc-400:#9BA8AB;--color-zinc-500:#687882;--color-zinc-600:#4A5C6A;--color-zinc-700:#374957;--color-zinc-800:#253745;--color-zinc-900:#11212D;--color-zinc-950:#06141B;--hb-color-background:#FFFFFF;--hb-color-foreground:#06141B;--hb-color-header-bg:#F4F5F4;--hb-color-header-fg:#06141B;--hb-color-footer-bg:#F4F5F4;--hb-color-footer-fg:#253745}html.dark{--hb-color-background:#06141B;--hb-color-foreground:#E5E7E7;--hb-color-header-bg:#06141B;--hb-color-header-fg:#E5E7E7;--hb-color-footer-bg:#11212D;--hb-color-footer-fg:#CCD0CF}*,::before,::after{--tw-shadow-color:rgb(17 33 45 / 0.08)}.dark *,.dark ::before,.dark ::after{--tw-shadow-color:rgb(0 0 0 / 0.35)}article .prose{font-size:1.0625rem;line-height:1.6}article .prose :where(p,ul,ol,blockquote,figure,pre):not(:where(.not-prose,.not-prose *)){margin-top:1.5rem;margin-bottom:1.5rem}article .prose :where(li):not(:where(.not-prose,.not-prose *)){margin-top:.5rem;margin-bottom:.5rem}article .prose :where(h2):not(:where(.not-prose,.not-prose *)){font-size:1.5625em;line-height:1.2;margin-top:3rem;margin-bottom:1rem}article .prose :where(h3):not(:where(.not-prose,.not-prose *)){font-size:1.25em;line-height:1.3;margin-top:2rem;margin-bottom:.5rem}article h1[data-pagefind-meta=title]{font-size:2.0625rem;line-height:1.15}@media(min-width:1024px){article .prose.lg\:prose-xl{font-size:1.25rem;line-height:1.6}article h1[data-pagefind-meta=title]{font-size:2.4375rem}}article .prose :where(a):not(:where(.not-prose,.not-prose *,[class*=no-underline])){color:var(--color-primary-700);text-decoration-color:color-mix(in oklab,var(--color-primary-700) 35%,transparent);text-underline-offset:.2em}article .prose :where(a):not(:where(.not-prose,.not-prose *,[class*=no-underline])):hover{text-decoration-color:initial}.dark article .prose :where(a):not(:where(.not-prose,.not-prose *,[class*=no-underline])){color:var(--color-primary-300);text-decoration-color:color-mix(in oklab,var(--color-primary-300) 40%,transparent)}article .prose :where(blockquote):not(:where(.not-prose,.not-prose *)){padding-inline-start:1rem}article .prose :where(dt):not(:where(.not-prose,.not-prose *)){margin-top:1.5rem}article .prose :where(dd):not(:where(.not-prose,.not-prose *)){margin-top:.5rem}a.bg-primary-100[href*="/tag/"]{padding-left:.75rem;padding-right:.75rem}@media(min-width:1024px){a.bg-primary-100[href*="/tag/"]{padding-left:1rem;padding-right:1rem}}@media(max-width:639px){[data-hb-language-chooser] span{display:none}[data-hb-language-chooser]+ul{margin-left:-1.5rem}}.page-header{padding:1rem 1rem 0;pointer-events:none}.page-header>*{pointer-events:auto}@media(max-width:639px){.page-header{padding:.5rem .5rem 0}}#site-header.header{position:relative;isolation:isolate;max-width:80rem;margin-inline:auto;border-radius:1rem;background-color:transparent;border:1px solid rgb(17 33 45/.1);box-shadow:0 8px 24px rgb(17 33 45/.1)}#site-header.header::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-color:rgb(244 245 244/.72);-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px);border-radius:inherit}.dark #site-header.header{border-color:rgb(204 208 207/.12);box-shadow:0 8px 24px rgb(0 0 0/.4)}.dark #site-header.header::before{background-color:rgb(17 33 45/.72)}#site-header.header:has(#nav-toggle:checked)::before{background-color:rgb(244 245 244/.94)}.dark #site-header.header:has(#nav-toggle:checked)::before{background-color:rgb(17 33 45/.94)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){#site-header.header::before{background-color:var(--hb-color-header-bg)}}.nav-link{border-radius:.5rem;transition:color .2s ease,background-color .2s ease,box-shadow .2s ease,text-shadow .2s ease}@media(min-width:1024px){.nav-link{padding:.5rem .75rem}}@media(hover:hover){.nav-link:hover{color:var(--color-primary-700);background-color:color-mix(in oklab,var(--color-primary-500) 10%,transparent);box-shadow:0 0 0 1px color-mix(in oklab,var(--color-primary-500) 22%,transparent),0 0 16px color-mix(in oklab,var(--color-primary-500) 35%,transparent)}.dark .nav-link:hover{color:var(--color-primary-200);background-color:color-mix(in oklab,var(--color-primary-400) 14%,transparent);box-shadow:0 0 0 1px color-mix(in oklab,var(--color-primary-400) 30%,transparent),0 0 24px color-mix(in oklab,var(--color-primary-400) 45%,transparent);text-shadow:0 0 12px color-mix(in oklab,var(--color-primary-300) 60%,transparent)}#site-header [data-search-toggle]:hover svg,#site-header .theme-toggle:hover svg,#site-header [data-hb-language-chooser]:hover svg{filter:drop-shadow(0 0 6px color-mix(in oklab,var(--color-primary-500) 70%,transparent))}}.nav-link:focus-visible{outline:2px solid var(--color-primary-600);outline-offset:2px;box-shadow:0 0 16px color-mix(in oklab,var(--color-primary-500) 35%,transparent)}@media(prefers-reduced-motion:reduce){.nav-link{transition:none}}.hb-toc>.sticky{top:calc(var(--navbar-height,4rem) + .5rem)}article .prose :where(h2,h3){scroll-margin-top:1rem}html:root,html.dark{--color-primary-50:oklch(0.984 0.014 180.72);--color-primary-100:oklch(0.953 0.051 180.801);--color-primary-200:oklch(0.91 0.096 180.426);--color-primary-300:oklch(0.855 0.138 181.071);--color-primary-400:oklch(0.777 0.152 181.912);--color-primary-500:oklch(0.6 0.118 184.704);--color-primary-600:oklch(0.511 0.096 186.391);--color-primary-700:oklch(0.437 0.078 188.216);--color-primary-800:oklch(0.386 0.063 188.416);--color-primary-900:oklch(0.277 0.046 192.524);--color-primary-950:oklch(0.22 0.04 195);--hb-primary-500-rgb:13 148 136;--color-purple-500:var(--color-primary-400);--color-violet-500:var(--color-primary-400);--color-indigo-500:var(--color-primary-500)}.hbb-section:not(#section-hero){padding-top:4rem;padding-bottom:4rem}@media(max-width:639px){.hbb-section:not(#section-hero){padding-top:3rem;padding-bottom:3rem}}#section-hero{--hero-pull:var(--navbar-height, 84px);margin-top:calc(-1 * var(--hero-pull));padding-top:0;padding-bottom:0;isolation:isolate;overflow:hidden}@media(max-width:639px){#section-hero{--hero-pull:var(--navbar-height, 70px)}}@media(hover:none),(max-width:1023px){#section-hero .home-section-bg.parallax{background-attachment:scroll}}#section-hero::after{content:"";position:absolute;inset:auto 0 0;height:5rem;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,transparent,rgb(6 20 27/.55))}.hero-alg{display:flex;align-items:center;min-height:clamp(30rem,70svh,42rem);padding:calc(var(--hero-pull) + 2.5rem)1.5rem 8.5rem;color:#fff}.hero-alg-inner{position:relative;width:100%;max-width:72rem;margin:0 auto;display:grid;align-items:center;gap:3rem}@media(min-width:1024px){.hero-alg{padding-left:2rem;padding-right:2rem}.hero-alg-inner{grid-template-columns:minmax(0,1fr)19rem;gap:4rem}}.hero-alg-copy{max-width:44rem}.hero-alg-title{margin:0;display:flex;flex-direction:column;gap:.75rem}.hero-alg-name{font-size:clamp(2.75rem,1.6rem + 4.6vw,5.25rem);font-weight:800;line-height:.95;letter-spacing:-.035em;color:#fff}.hero-alg-tagline{font-size:clamp(1.25rem,1rem + 1vw,1.875rem);font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--color-primary-200);max-width:28ch;text-wrap:balance}.hero-alg-text{margin-top:1.5rem;max-width:36rem;font-size:1.125rem;line-height:1.6;color:rgb(255 255 255/.82);text-wrap:pretty}.hero-alg-text strong{color:#fff;font-weight:600}.hero-alg-actions{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.75rem 1rem}.hero-alg-btn{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:.625rem 1.25rem;border-radius:.75rem;font-size:1rem;font-weight:600;line-height:1.25;text-decoration:none;transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease}.hero-alg-btn-primary{background:var(--color-primary-600);color:#fff;box-shadow:0 8px 24px rgb(0 0 0/.28)}.hero-alg-btn-ghost{color:#fff;background:rgb(255 255 255/6%);box-shadow:inset 0 0 0 1px rgb(255 255 255/.35)}.hero-alg-btn:focus-visible{outline:2px solid var(--color-primary-300);outline-offset:3px}@media(hover:hover){.hero-alg-btn:hover{transform:translateY(-1px)}.hero-alg-btn-primary:hover{background:var(--color-primary-700);box-shadow:0 0 0 4px rgb(45 212 191/.18),0 0 28px rgb(45 212 191/.35)}.hero-alg-btn-ghost:hover{background:rgb(255 255 255/.12);box-shadow:inset 0 0 0 1px rgb(255 255 255/.6)}}.hero-alg-mark{position:absolute;z-index:-1;right:0;bottom:-7.25rem;width:7rem;opacity:.5;perspective:50rem}.hero-alg-maze{display:block;width:100%;height:auto;overflow:visible;fill:none;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;transform:rotateY(-24deg)rotateX(12deg);transform-origin:50% 50%;filter:drop-shadow(0 0 10px rgb(45 212 191/.35))}.hero-alg-depth{stroke:var(--color-primary-800)}.hero-alg-maze path{stroke-dasharray:100;animation:alg-draw 2.2s cubic-bezier(.65,0,.35,1)both}.hero-alg-maze g>path:nth-child(2){animation-delay:.35s}.hero-alg-maze g>path:nth-child(3){animation-delay:.7s}.hero-alg-maze g>path:nth-child(4){animation-delay:1.05s}@media(min-width:1024px){.hero-alg-mark{position:static;z-index:auto;width:100%;opacity:.95}.hero-alg{padding-bottom:4rem}}@media(prefers-reduced-motion:no-preference){.hero-alg-maze{animation:alg-sway 12s ease-in-out 2.4s infinite;will-change:transform}}@keyframes alg-sway{0%,100%{transform:rotateY(-24deg)rotateX(12deg)}50%{transform:rotateY(-12deg)rotateX(6deg)translateY(-.5rem)}}@keyframes alg-draw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}.skill-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;padding:1.5rem .75rem;border-radius:1rem;background:rgb(255 255 255/.7);box-shadow:inset 0 0 0 1px rgb(17 33 45/8%);transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}.dark .skill-card{background:rgb(255 255 255/3%);box-shadow:inset 0 0 0 1px rgb(204 208 207/.1)}.skill-icon{display:grid;place-items:center;width:4.5rem;height:4.5rem;margin-bottom:.5rem;border-radius:1.25rem;color:var(--color-primary-700);background:var(--color-primary-50);box-shadow:inset 0 0 0 1px rgb(13 148 136/.15);transition:color .25s ease,background .25s ease,transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease}.dark .skill-icon{color:var(--color-primary-300);background:rgb(45 212 191/8%);box-shadow:inset 0 0 0 1px rgb(45 212 191/.18)}@media(min-width:640px){.skill-icon{width:5.5rem;height:5.5rem;border-radius:1.5rem}}.skill-name{font-size:1rem;font-weight:600;line-height:1.3;color:var(--color-neutral-900,#11212d);text-wrap:balance}.dark .skill-name{color:#fff}@media(min-width:640px){.skill-name{font-size:1.125rem}}.skill-value{font-size:.875rem;font-variant-numeric:tabular-nums;color:var(--color-neutral-600,#4a5c6a)}.dark .skill-value{color:var(--color-neutral-300,#9ba8ab)}.skill-bar{width:100%;max-width:8rem;height:.375rem;border-radius:999px;background:rgb(17 33 45/8%);overflow:hidden}.dark .skill-bar{background:rgb(255 255 255/8%)}.skill-bar>span{display:block;height:100%;width:var(--skill);border-radius:inherit;background:linear-gradient(90deg,var(--color-primary-400),var(--color-primary-600))}@media(hover:hover){.skill-card:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px rgb(13 148 136/.3),0 12px 28px rgb(17 33 45/.1)}.dark .skill-card:hover{box-shadow:inset 0 0 0 1px rgb(45 212 191/.35),0 12px 28px rgb(0 0 0/.35)}.skill-card:hover .skill-icon{color:#fff;background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-700));transform:scale(1.08)rotate(-6deg);box-shadow:0 0 24px rgb(45 212 191/.45)}}@supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.skill-bar>span{animation:skill-fill linear both;animation-timeline:view();animation-range:entry 10% cover 40%}}}@keyframes skill-fill{from{width:0}}.skill-card.is-playing .skill-icon{color:#fff;background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-700));box-shadow:0 0 24px rgb(45 212 191/.45)}.skill-icon{position:relative}.skill-icon::before,.skill-icon::after{content:"";position:absolute;pointer-events:none;opacity:0}.skill-bar{position:relative}.skill-bar>span{position:relative}@media(prefers-reduced-motion:no-preference){.skill-card:is(:hover,.is-playing) .skill-bar>span{animation:skill-fill .9s cubic-bezier(.2,.8,.2,1).15s both;animation-timeline:auto;animation-range:normal}.skill-hand-fist .skill-icon::before,.skill-hand-fist .skill-icon::after{inset:0;border-radius:inherit;box-shadow:0 0 0 2px var(--color-primary-300)}.skill-hand-fist:is(:hover,.is-playing) .skill-icon>svg{animation:sk-punch .8s cubic-bezier(.3,0,.2,1)both}.skill-hand-fist:is(:hover,.is-playing) .skill-icon::before{animation:sk-impact .8s ease-out both}.skill-hand-fist:is(:hover,.is-playing) .skill-icon::after{animation:sk-impact .8s ease-out .12s both}.skill-over .skill-bar{overflow:visible}.skill-over:is(:hover,.is-playing) .skill-bar>span{animation:skill-fill-over 1.1s cubic-bezier(.2,.8,.2,1).15s both;animation-timeline:auto;animation-range:normal}.skill-over .skill-bar>span::after{content:"";position:absolute;right:-4px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:#fff;box-shadow:0 0 8px 3px var(--color-primary-300);opacity:0}.skill-over:is(:hover,.is-playing) .skill-bar>span::after{animation:sk-escape 1.3s ease-out .15s both}.skill-asterisk .skill-icon::before{--l:10px;inset:8px;border:2px solid var(--color-primary-200);border-radius:6px;-webkit-mask:conic-gradient(at var(--l) var(--l),#0000 75%,#000 0)0 0/calc(100% - var(--l))calc(100% - var(--l));mask:conic-gradient(at var(--l) var(--l),#0000 75%,#000 0)0 0/calc(100% - var(--l))calc(100% - var(--l))}.skill-asterisk:is(:hover,.is-playing) .skill-icon>svg{animation:sk-dial 1.1s steps(6)both}.skill-asterisk:is(:hover,.is-playing) .skill-icon::before{animation:sk-focus 1.3s cubic-bezier(.2,.8,.2,1)both}.skill-champagne-glasses .skill-icon>svg{transform-origin:50% 90%}.skill-champagne-glasses .skill-icon::before,.skill-champagne-glasses .skill-icon::after{left:50%;top:30%;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:var(--color-primary-200);box-shadow:0 0 6px var(--color-primary-300)}.skill-champagne-glasses:is(:hover,.is-playing) .skill-icon>svg{animation:sk-cheers 1s ease-in-out both}.skill-champagne-glasses:is(:hover,.is-playing) .skill-icon::before{animation:sk-bubble-left 1.1s ease-out .25s both}.skill-champagne-glasses:is(:hover,.is-playing) .skill-icon::after{animation:sk-bubble-right 1.1s ease-out .4s both}.skill-basketball .skill-icon::after{left:50%;bottom:12%;width:28px;height:5px;margin-left:-14px;border-radius:50%;background:rgb(6 20 27/.35)}.skill-basketball:is(:hover,.is-playing) .skill-icon>svg{animation:sk-bounce 1.2s cubic-bezier(.3,0,.3,1)both}.skill-basketball:is(:hover,.is-playing) .skill-icon::after{animation:sk-shadow 1.2s cubic-bezier(.3,0,.3,1)both}.skill-brain .skill-icon::before,.skill-brain .skill-icon::after{inset:18%;border-radius:50%;border:2px solid var(--color-primary-200)}.skill-brain:is(:hover,.is-playing) .skill-icon>svg{animation:sk-think 1.2s ease-in-out both}.skill-brain:is(:hover,.is-playing) .skill-icon::before{animation:sk-wave 1.1s ease-out both}.skill-brain:is(:hover,.is-playing) .skill-icon::after{animation:sk-wave 1.1s ease-out .35s both}.skill-seedling .skill-icon>svg{transform-origin:50% 95%}.skill-seedling .skill-icon::before{left:50%;top:10%;width:9px;height:9px;margin-left:-4.5px;border-radius:0 50% 50% 50%;background:var(--color-primary-200);transform:rotate(45deg)}.skill-seedling:is(:hover,.is-playing) .skill-icon::before{animation:sk-drop .5s ease-in both}.skill-seedling:is(:hover,.is-playing) .skill-icon>svg{animation:sk-grow 1.2s cubic-bezier(.3,1.4,.5,1).4s both}.skill-utensils .skill-icon::before,.skill-utensils .skill-icon::after{top:-.25rem;width:8px;height:18px;border-left:2px solid var(--color-primary-400);border-radius:50%}.skill-utensils .skill-icon::before{left:38%}.skill-utensils .skill-icon::after{left:56%}.skill-utensils:is(:hover,.is-playing) .skill-icon>svg{animation:sk-chef 1s ease-in-out both}.skill-utensils:is(:hover,.is-playing) .skill-icon::before{animation:sk-steam 1.2s ease-out .2s both}.skill-utensils:is(:hover,.is-playing) .skill-icon::after{animation:sk-steam 1.2s ease-out .45s both}.skill-heart-pulse .skill-icon::before,.skill-heart-pulse .skill-icon::after{top:.25rem;font-size:1.125rem;font-weight:700;line-height:1;color:var(--color-primary-400)}.skill-heart-pulse .skill-icon::before{content:"\266A";right:.25rem}.skill-heart-pulse .skill-icon::after{content:"\266B";left:.25rem}.skill-heart-pulse:is(:hover,.is-playing) .skill-icon>svg{animation:sk-beat 1.2s ease-in-out both}.skill-heart-pulse:is(:hover,.is-playing) .skill-icon::before{animation:sk-note-right 1.3s ease-out .1s both}.skill-heart-pulse:is(:hover,.is-playing) .skill-icon::after{animation:sk-note-left 1.3s ease-out .5s both}.skill-camera-retro .skill-icon::after{inset:0;border-radius:inherit;background:radial-gradient(circle at 62% 42%,#fff 0 12%,rgb(255 255 255/.75) 30%,rgb(255 255 255/0) 70%)}.skill-camera-retro .skill-icon::before{top:-.5rem;right:-.5rem;width:1.5rem;height:1.5rem;background:#fff;filter:drop-shadow(0 0 4px var(--color-primary-300));clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}.skill-camera-retro:is(:hover,.is-playing) .skill-icon>svg{animation:sk-shutter .9s ease-out both}.skill-camera-retro:is(:hover,.is-playing) .skill-icon::after{animation:sk-flash .9s ease-out both}.skill-camera-retro:is(:hover,.is-playing) .skill-icon::before{animation:sk-sparkle .9s ease-out both}}@keyframes skill-fill-over{0%{width:0}70%{width:100%;box-shadow:none}84%{width:calc(100% + 8px);box-shadow:0 0 12px 2px var(--color-primary-300)}100%{width:calc(100% + 4px);box-shadow:0 0 8px 1px var(--color-primary-300)}}@keyframes sk-escape{0%,70%{opacity:0;transform:translateX(0)scale(.5)}80%{opacity:1;transform:translateX(2px)scale(1.3)}100%{opacity:0;transform:translateX(28px)scale(.4)}}@keyframes sk-punch{0%{transform:none}30%{transform:translate(-3px,3px)scale(.82)rotate(10deg)}50%{transform:translate(2px,-2px)scale(1.4)rotate(-6deg)}70%{transform:scale(1.12)}100%{transform:none}}@keyframes sk-impact{0%,45%{opacity:0;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}100%{opacity:0;transform:scale(1.7)}}@keyframes sk-dial{from{transform:rotate(0)}to{transform:rotate(180deg)}}@keyframes sk-focus{0%{opacity:0;transform:scale(1.6)}45%{opacity:1;transform:scale(1)}55%{transform:scale(1.06)}65%{transform:scale(1)}85%{opacity:1}100%{opacity:0;transform:scale(1)}}@keyframes sk-cheers{0%{transform:none}15%{transform:rotate(-14deg)}30%{transform:rotate(10deg)scale(1.08)}45%{transform:rotate(-7deg)}60%{transform:rotate(4deg)}75%{transform:rotate(-2deg)}100%{transform:none}}@keyframes sk-bubble-left{0%{opacity:0;transform:translate(0,0)scale(.4)}25%{opacity:1}100%{opacity:0;transform:translate(-12px,-46px)scale(1.1)}}@keyframes sk-bubble-right{0%{opacity:0;transform:translate(0,0)scale(.4)}25%{opacity:1}100%{opacity:0;transform:translate(14px,-52px)scale(.8)}}@keyframes sk-bounce{0%{transform:none}18%{transform:translateY(-22px)rotate(-90deg)}36%{transform:translateY(3px)scale(1.15,.85)rotate(-160deg)}50%{transform:translateY(-11px)scale(.96,1.04)rotate(-220deg)}64%{transform:translateY(1.5px)scale(1.08,.92)rotate(-280deg)}76%{transform:translateY(-4px)rotate(-320deg)}88%,100%{transform:translateY(0)rotate(-360deg)}}@keyframes sk-shadow{0%{opacity:.5;transform:scale(1)}18%{opacity:.15;transform:scale(.5)}36%{opacity:.55;transform:scale(1.2)}50%{opacity:.25;transform:scale(.7)}64%{opacity:.5;transform:scale(1.1)}76%{opacity:.4;transform:scale(.9)}100%{opacity:0;transform:scale(1)}}@keyframes sk-think{0%{transform:none}20%{transform:scale(1.14)}35%{transform:scale(.96)}50%{transform:scale(1.1)}65%{transform:scale(.98)}100%{transform:none}}@keyframes sk-wave{0%{opacity:.9;transform:scale(.6)}100%{opacity:0;transform:scale(1.8)}}@keyframes sk-drop{0%{opacity:0;transform:translateY(-14px)rotate(45deg)}30%{opacity:1}90%{opacity:1;transform:translateY(24px)rotate(45deg)}100%{opacity:0;transform:translateY(28px)rotate(45deg)scale(.4)}}@keyframes sk-grow{0%{transform:scale(.15,.1)}55%{transform:scale(1.05,1.18)rotate(-5deg)}75%{transform:scale(1)rotate(4deg)}90%{transform:rotate(-2deg)}100%{transform:none}}@keyframes sk-chef{0%{transform:none}15%{transform:translateY(-4px)rotate(-12deg)}30%{transform:none}45%{transform:translateY(-4px)rotate(12deg)}60%,100%{transform:none}}@keyframes sk-steam{0%{opacity:0;transform:translateY(10px)scaleY(.6)}30%{opacity:.9}100%{opacity:0;transform:translateY(-16px)scaleY(1.1)skewX(-12deg)}}@keyframes sk-beat{0%{transform:none}10%{transform:scale(1.25)}20%{transform:none}30%{transform:scale(1.16)}45%{transform:none}55%{transform:scale(1.25)}65%{transform:none}75%{transform:scale(1.16)}90%,100%{transform:none}}@keyframes sk-note-right{0%{opacity:0;transform:translate(0,10px)rotate(0)}25%{opacity:1}100%{opacity:0;transform:translate(16px,-30px)rotate(18deg)}}@keyframes sk-note-left{0%{opacity:0;transform:translate(0,10px)rotate(0)}25%{opacity:1}100%{opacity:0;transform:translate(-14px,-34px)rotate(-14deg)}}@keyframes sk-shutter{0%{transform:none}18%{transform:translateY(2px)scale(.92)}30%{transform:scale(1.06)}45%,100%{transform:none}}@keyframes sk-flash{0%,16%{opacity:0}22%{opacity:1}100%{opacity:0}}@keyframes sk-sparkle{0%,18%{opacity:0;transform:scale(.2)rotate(0)}28%{opacity:1;transform:scale(1.1)rotate(25deg)}100%{opacity:0;transform:scale(.6)rotate(70deg)}}.alg-labyrinth{--alg-line:rgb(15 118 110 / 0.16);position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.dark .alg-labyrinth{--alg-line:rgb(94 234 212 / 0.10)}.alg-fluid{position:absolute;inset:0;background:radial-gradient(38% 32% at 0% 18%,rgb(20 184 166/.1),transparent 70%),radial-gradient(34% 38% at 100% 72%,rgb(37 99 235/8%),transparent 70%),radial-gradient(28% 30% at 100% 8%,rgb(34 197 94/7%),transparent 70%),radial-gradient(30% 34% at 0% 96%,rgb(37 99 235/6%),transparent 70%)}.dark .alg-fluid{background:radial-gradient(38% 32% at 0% 18%,rgb(20 184 166/.14),transparent 70%),radial-gradient(34% 38% at 100% 72%,rgb(37 99 235/.13),transparent 70%),radial-gradient(28% 30% at 100% 8%,rgb(34 197 94/.1),transparent 70%),radial-gradient(30% 34% at 0% 96%,rgb(37 99 235/.1),transparent 70%)}.alg-wall{position:absolute;top:50%;width:44rem;height:44rem;margin-top:-22rem;perspective:60rem}.alg-wall-left{left:-22rem;-webkit-mask-image:linear-gradient(to right,#000 50%,transparent 82%);mask-image:linear-gradient(to right,#000 50%,transparent 82%)}.alg-wall-right{right:-22rem;-webkit-mask-image:linear-gradient(to left,#000 50%,transparent 82%);mask-image:linear-gradient(to left,#000 50%,transparent 82%)}.alg-maze{width:100%;height:100%;overflow:visible;fill:none;stroke:var(--alg-line);stroke-width:1.25}.alg-labyrinth symbol path{vector-effect:non-scaling-stroke}.alg-wall-left .alg-maze{transform:rotateY(32deg)}.alg-wall-right .alg-maze{transform:rotateY(-32deg)scaleX(-1)}@media(max-width:1023px){.alg-wall{width:24rem;height:24rem;margin-top:-12rem}.alg-wall-left{left:-20.5rem}.alg-wall-right{right:-20.5rem}.alg-labyrinth{--alg-line:rgb(15 118 110 / 0.12)}.dark .alg-labyrinth{--alg-line:rgb(94 234 212 / 0.08)}}@supports(animation-timeline:scroll()){@media(prefers-reduced-motion:no-preference){.alg-zoom{animation:alg-zoom linear both;animation-timeline:scroll(root)}.alg-wall-left .alg-maze{animation:alg-tilt-left linear both;animation-timeline:scroll(root)}.alg-wall-right .alg-maze{animation:alg-tilt-right linear both;animation-timeline:scroll(root)}.alg-fluid{animation:alg-flow linear both;animation-timeline:scroll(root)}}}@keyframes alg-zoom{from{transform:scale(1)rotate(0)}to{transform:scale(1.613)rotate(-90deg)}}@keyframes alg-tilt-left{from{transform:rotateY(32deg)rotateX(6deg)}to{transform:rotateY(22deg)rotateX(-6deg)}}@keyframes alg-tilt-right{from{transform:rotateY(-32deg)rotateX(6deg)scaleX(-1)}to{transform:rotateY(-22deg)rotateX(-6deg)scaleX(-1)}}@keyframes alg-flow{from{transform:translateY(0)scale(1)}to{transform:translateY(-6%)scale(1.08)}}.hbb-section:not(#section-hero)+.hbb-section::before,.hbb-section:not(#section-hero)+.hbb-section::after{content:"";position:absolute;left:50%;pointer-events:none}.hbb-section:not(#section-hero)+.hbb-section::before{top:0;width:min(32rem,76%);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgb(13 148 136/.35) 30%,rgb(13 148 136/.35) 44%,transparent 46%,transparent 54%,rgb(13 148 136/.35) 56%,rgb(13 148 136/.35) 70%,transparent)}.hbb-section:not(#section-hero)+.hbb-section::after{top:-.6875rem;width:1.375rem;height:1.375rem;transform:translateX(-50%);background:var(--color-primary-600);-webkit-mask:url(data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%225%205%2050%2050%22%3E%3Cpath%20d=%22M8.5%2052V8.5h42V52M7%2016.5H52M16.5%2023V50.5H44m0-26H24.5v18h18v-10H32%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%224%22/%3E%3C/svg%3E)center/contain no-repeat;mask:url(data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%225%205%2050%2050%22%3E%3Cpath%20d=%22M8.5%2052V8.5h42V52M7%2016.5H52M16.5%2023V50.5H44m0-26H24.5v18h18v-10H32%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%224%22/%3E%3C/svg%3E)center/contain no-repeat;opacity:.7}.dark .hbb-section:not(#section-hero)+.hbb-section::before{background:linear-gradient(90deg,transparent,rgb(45 212 191/.3) 30%,rgb(45 212 191/.3) 44%,transparent 46%,transparent 54%,rgb(45 212 191/.3) 56%,rgb(45 212 191/.3) 70%,transparent)}.dark .hbb-section:not(#section-hero)+.hbb-section::after{background:var(--color-primary-300);opacity:.6}.alg-divider{position:relative;width:min(32rem,76%);height:1.375rem;margin-left:auto;margin-right:auto;view-timeline-name:--alg-divider}.alg-divider::before,.alg-divider::after{content:"";position:absolute;pointer-events:none}.alg-divider::before{left:0;right:0;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgb(13 148 136/.35) 30%,rgb(13 148 136/.35) 44%,transparent 46%,transparent 54%,rgb(13 148 136/.35) 56%,rgb(13 148 136/.35) 70%,transparent)}.alg-divider::after{top:0;left:50%;width:1.375rem;height:1.375rem;margin-left:-.6875rem;opacity:.7;background:var(--color-primary-600);-webkit-mask:url(data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%225%205%2050%2050%22%3E%3Cpath%20d=%22M8.5%2052V8.5h42V52M7%2016.5H52M16.5%2023V50.5H44m0-26H24.5v18h18v-10H32%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%224%22/%3E%3C/svg%3E)center/contain no-repeat;mask:url(data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%225%205%2050%2050%22%3E%3Cpath%20d=%22M8.5%2052V8.5h42V52M7%2016.5H52M16.5%2023V50.5H44m0-26H24.5v18h18v-10H32%22%20fill=%22none%22%20stroke=%22%23000%22%20stroke-width=%224%22/%3E%3C/svg%3E)center/contain no-repeat}.dark .alg-divider::before{background:linear-gradient(90deg,transparent,rgb(45 212 191/.3) 30%,rgb(45 212 191/.3) 44%,transparent 46%,transparent 54%,rgb(45 212 191/.3) 56%,rgb(45 212 191/.3) 70%,transparent)}.dark .alg-divider::after{background:var(--color-primary-300);opacity:.6}@supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){.alg-divider::before{animation:alg-divider-line linear both;animation-timeline:--alg-divider;animation-range:entry 10% cover 40%}.alg-divider::after{animation:alg-divider-mark linear both;animation-timeline:--alg-divider;animation-range:entry 10% cover 40%}}}@keyframes alg-divider-line{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}@keyframes alg-divider-mark{from{transform:rotate(-90deg)scale(.5);opacity:0}}.alg-404{max-width:48rem;margin:0 auto;padding:1rem 1.5rem 4rem}.alg-404-hero{display:flex;flex-direction:column;align-items:center;gap:2rem;padding-bottom:3rem;text-align:center}.alg-404-maze{width:9.5rem;height:auto;overflow:visible}@media(min-width:640px){.alg-404-maze{width:11.5rem}}.alg-404-walls{fill:none;stroke:var(--color-neutral-800,#253745);stroke-width:4;stroke-linejoin:miter}.dark .alg-404-walls{stroke:var(--color-neutral-200,#ccd0cf)}.alg-404-trail{fill:none;stroke:var(--color-primary-500);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;filter:drop-shadow(0 0 2px rgb(45 212 191/.6))}.dark .alg-404-trail{stroke:var(--color-primary-300)}.alg-404-dot{fill:var(--color-primary-500);transform-box:fill-box;transform-origin:center}.dark .alg-404-dot{fill:var(--color-primary-300)}@media(prefers-reduced-motion:no-preference){.alg-404-trail{animation:alg-404-walk 3.2s cubic-bezier(.45,.05,.55,.95).4s both}.alg-404-dot{animation:alg-404-arrive .4s ease-out 3.5s both,alg-404-pulse 1.6s ease-in-out 3.9s infinite}}@keyframes alg-404-walk{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes alg-404-arrive{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes alg-404-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.7)}}.alg-404-eyebrow{font-size:.875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary-700)}.dark .alg-404-eyebrow{color:var(--color-primary-300)}.alg-404-title{margin-top:.5rem;font-size:clamp(2rem,1.4rem + 2.6vw,3rem);font-weight:800;line-height:1.1;letter-spacing:-.025em;text-wrap:balance;color:var(--color-neutral-900,#11212d)}.dark .alg-404-title{color:#fff}.alg-404-text{margin:1rem auto 0;max-width:32rem;font-size:1.125rem;line-height:1.6;color:var(--color-neutral-600,#4a5c6a);text-wrap:pretty}.dark .alg-404-text{color:var(--color-neutral-300,#9ba8ab)}.alg-404-actions{margin-top:2rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem 1rem}.alg-404-search{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:.625rem 1.25rem;border-radius:.75rem;font-size:1rem;font-weight:600;line-height:1.25;cursor:pointer;color:var(--color-neutral-900,#11212d);box-shadow:inset 0 0 0 1px rgb(17 33 45/.2);transition:background-color .2s ease,box-shadow .2s ease}.dark .alg-404-search{color:#fff;box-shadow:inset 0 0 0 1px rgb(255 255 255/.3)}.alg-404-search:hover{background:rgb(13 148 136/8%);box-shadow:inset 0 0 0 1px rgb(13 148 136/.45)}.alg-404-search:focus-visible{outline:2px solid var(--color-primary-600);outline-offset:3px}.alg-404-latest{margin-top:2.5rem}.alg-404-latest h2{text-align:center;font-size:1.25rem;font-weight:700;color:var(--color-neutral-900,#11212d)}.dark .alg-404-latest h2{color:#fff}.alg-404-latest ul{margin-top:1.25rem;display:grid;gap:.25rem}.alg-404-latest a{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-radius:.75rem;font-weight:500;color:var(--color-neutral-900,#11212d);text-decoration:none;transition:background-color .2s ease}.dark .alg-404-latest a{color:var(--color-neutral-100,#e6e9e8)}.alg-404-latest a:hover{background:rgb(13 148 136/8%);color:var(--color-primary-700)}.dark .alg-404-latest a:hover{color:var(--color-primary-300)}.alg-404-latest time{flex-shrink:0;font-size:.875rem;font-weight:400;font-variant-numeric:tabular-nums;color:var(--color-neutral-500,#687882)}@media(max-width:639px){.alg-404-latest a{flex-direction:column;gap:.25rem}}.alg-cover{position:absolute;inset:0;overflow:hidden;display:grid;place-items:center;container-type:inline-size;background:radial-gradient(90% 80% at 0% 0%,rgb(37 99 235/.55),transparent 65%),radial-gradient(80% 90% at 100% 100%,rgb(34 197 94/.38),transparent 60%),radial-gradient(60% 60% at 60% 40%,rgb(20 184 166/.35),transparent 70%),#0a2230}.alg-cover-maze{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:rgb(153 246 228/.28);stroke-width:1.25;transition:transform .6s ease}.alg-cover-photo{position:relative;max-width:58%;max-height:70%;width:auto;height:auto;object-fit:contain;padding:.375rem;border-radius:.25rem;background:#fff;box-shadow:0 12px 28px rgb(0 0 0/.4);transform:rotate(-2.5deg);transition:transform .4s ease}.alg-cover-year{position:absolute;left:.75rem;bottom:.5rem;font-size:clamp(.875rem,8cqw,1.5rem);font-weight:800;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums;color:rgb(255 255 255/.85);text-shadow:0 2px 8px rgb(0 0 0/.45)}.alg-cover-plain .alg-cover-year{position:relative;left:auto;bottom:auto;font-size:clamp(1.75rem,20cqw,4.5rem);letter-spacing:-.04em;color:rgb(255 255 255/.92)}@media(hover:hover){.group:hover .alg-cover-maze{transform:scale(1.08)rotate(6deg)}.group:hover .alg-cover-photo{transform:rotate(0)scale(1.04)}}#disqus_thread{color:#334155}#disqus_thread a{color:#115e59}.dark #disqus_thread{color:#cbd5e1}.dark #disqus_thread a{color:#5eead4}@media(prefers-reduced-motion:reduce){.hero-alg-maze path{animation:none}.alg-cover-maze,.alg-cover-photo{transition:none}.alg-404-trail,.alg-404-dot{animation:none}.skill-card,.skill-icon,.hero-alg-btn{transition:none}}