.Alert_wrapper__ul4Z5{position:relative;padding-inline:var(--viewport-padding,32px);padding-block:20px;margin-inline:calc(-1 * var(--viewport-padding, 32px));margin-block:calc(1 * var(--viewport-padding, 32px));background-color:var(--alert-background)}.Alert_wrapper__ul4Z5:before{content:"";position:absolute;inset-block-start:0;inset-inline-start:0;width:5px;height:100%;background-color:var(--alert-border-color);border-radius:8px}.visuallyHidden_wrapper__XMjUi{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.rssIcon_btn__NjFMn{position:relative;display:block;height:32px;width:32px;min-width:32px;display:flex;align-items:center;justify-content:center;color:inherit;border-radius:1000px;outline:1px solid transparent;outline-offset:2px;background-color:transparent;border-color:transparent;cursor:pointer}.rssIcon_btn__NjFMn:focus-visible{outline:1px solid var(--color-primary)}.rssIcon_icon__nw5qo{display:block;overflow:visible}.star_starWrapper__kGYI9{position:fixed;z-index:-50;pointer-events:none;animation:star_fade-in__pmhCP .3s ease}.star_starWrapper__kGYI9,.star_stars__8zQRc{inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%}.star_stars__8zQRc{position:relative;z-index:0}.star_hide__ZyDQd{display:none}.star_show__5SxS0{display:block}.star_star___3PLq{position:absolute;border-radius:100vw;background-color:var(--color-text);opacity:.25;transform:scale(1.5);aspect-ratio:1}.star_twinkle__HjrKT{animation:star_twinkle__HjrKT 10s infinite}@keyframes star_twinkle__HjrKT{0%{opacity:.25}80%{opacity:.25}90%{opacity:1}to{opacity:.25}}@keyframes star_fade-in__pmhCP{0%{opacity:0}to{opacity:1}}.CodeSnippet_wrapper__Qm4iy{border-radius:0!important;margin:0 calc(var(--viewport-padding) * -1) 64px!important}.CodeSnippet_wrapper__Qm4iy pre{padding-block:var(--viewport-padding)!important;padding-inline:var(--viewport-padding)!important}.CodeSnippet_wrapper__Qm4iy code{font-family:var(--font-family)}.CodeSnippet_wrapper__Qm4iy code>div{font-size:1.125rem;padding-inline:0!important;padding-block:0!important}@media (min-width:56rem){.CodeSnippet_wrapper__Qm4iy{border-radius:8px!important}}.CustomLink_a__u8S9l{display:block;text-decoration:none;font-size:inherit;color:inherit}.CustomLink_link__4IJhh{font-size:inherit;color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--color-decorative-900);text-decoration-color:var(--color-decorative-900)}.CustomLink_link__4IJhh:hover{text-underline-offset:.125em}.CustomElements_text__WSDI6{font-size:1.125rem;margin-bottom:1.25em}.CustomElements_h2__yesG9{font-size:calc(32 / 16 * 1rem);color:var(--color-secondary);margin-bottom:1em}.CustomElements_h3__3FFJ4{font-size:calc(24 / 16 * 1rem);color:var(--color-gray-900);margin-bottom:.5em}.CustomElements_h4__nMR9e{font-size:calc(16 / 16 * 1rem);color:var(--color-gray-900);margin-bottom:.5em}.CustomElements_ul__JFrON{font-size:inherit;margin-bottom:2rem;list-style:none;padding:0}.CustomElements_li__EEYEp{font-size:1rem;margin-bottom:8px;display:flex;align-items:flex-start}.CustomElements_span__q1SLc{display:flex;align-items:center;padding-right:16px;padding-top:0}.CustomElements_table__zWyff{width:100%;border-collapse:collapse;margin-bottom:2rem;font-size:1rem;border:1px solid var(--color-gray-200);letter-spacing:1px}.BlogHero_wrapper__M743_{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;inline-size:100%;margin-inline:auto;margin-block:0}.BlogHero_content__ioSG7{position:relative;inline-size:100%;padding:var(--viewport-padding);-webkit-padding-before:48px;padding-block-start:48px;padding-bottom:64px}.BlogHero_content__ioSG7 h1{-webkit-margin-after:.5rem;margin-block-end:.5rem}.BlogHero_content__ioSG7 p{font-size:1.125rem;color:var(--color-decorative-900);-webkit-margin-after:0;margin-block-end:0;font-weight:400}.BlogHero_content__ioSG7 time{font-weight:500}@media (min-width:35rem){.BlogHero_content__ioSG7 p{font-size:1.25rem}}.page_page__iuQuL{-webkit-padding-after:64px;padding-block-end:64px}.lab_lab__pwCAr{margin-block:100px 60px;display:grid;grid-gap:1rem;gap:1rem}.lab_list__mQyHK{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:1rem;gap:1rem}.lab_item__kNgLZ{border:1px dashed var(--color-gray-500);border-radius:8px;padding:1.2rem}.lab_link__q_qrw{text-decoration:none}.work_wrapper__fEb5l{margin-block:60px 60px;max-width:900px;margin-inline:auto;padding-inline:2rem;position:relative}.work_headerContent__tB4EQ{display:flex;gap:10px;align-items:center;margin-block:20px;-webkit-margin-start:-10px;margin-inline-start:-10px}.work_sectionTitle__8Kpxf{font-size:2.25rem;font-weight:400;letter-spacing:-.025em;color:var(--color-text,hsl(210deg 10% 90%));margin:0}.work_headerLine__DSIKY{width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--color-decorative,hsl(200deg 50% 60%)),transparent);margin:0 auto}.work_timeline__lrPkl{position:relative}.work_timeline__lrPkl:before{content:"";position:absolute;left:1rem;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,var(--color-gray-300,hsl(210deg 10% 30%)),var(--color-gray-300,hsl(210deg 10% 30%)),transparent)}.work_experienceItem___OprU{position:relative;margin-bottom:3.5rem;padding-left:3rem}.work_experienceItem___OprU:last-child{margin-bottom:0}.work_timelineDot__OtWju{position:absolute;left:-3rem;top:.5rem;width:8px;height:8px;background:var(--color-decorative,hsl(200deg 50% 60%));border-radius:50%;border:2px solid var(--color-background,hsl(210deg 15% 6%));box-shadow:0 0 0 3px var(--color-gray-200,hsl(210deg 15% 18%))}.work_experienceContent__I8lg1{border:1px solid var(--color-gray-200,hsl(210deg 15% 18%));border-radius:12px;padding:2rem;transition:all .3s ease}.work_experienceHeader__SZFRd{margin-bottom:1.25rem}.work_jobTitle___kURl{font-size:1.5rem;font-weight:500;color:var(--color-text,hsl(210deg 10% 90%));margin:0 0 .5rem;line-height:1.3}.work_companyInfo__FNEtY{display:flex;align-items:center;gap:.75rem;font-size:.9375rem}.work_company__4cxid{color:var(--color-decorative,hsl(200deg 50% 60%));font-weight:500;letter-spacing:.025em}.work_duration__CzZy9{color:var(--color-gray-500,hsl(210deg 8% 50%));font-style:italic;position:relative}.work_duration__CzZy9:before{content:"•";margin-right:.75rem;color:var(--color-gray-400,hsl(210deg 9% 40%))}.work_description__RURk_{font-size:.9375rem;line-height:1.7;color:var(--color-gray-600,hsl(210deg 12% 55%));margin:0 0 1.5rem;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;max-width:65ch}.work_skillsContainer__VPbnZ{display:flex;flex-wrap:wrap;gap:.5rem}.work_skill__J8Bb_{padding:.375rem .875rem;background:var(--color-gray-100,hsl(210deg 15% 12%));color:var(--color-gray-800,hsl(210deg 20% 77%));border:1px solid var(--color-gray-300,hsl(210deg 10% 30%));border-radius:6px;font-size:.8125rem;font-weight:500;letter-spacing:.025em;transition:all .2s ease;cursor:default}.work_skill__J8Bb_:hover{background:var(--color-decorative,hsl(200deg 50% 60%));color:var(--color-background,hsl(210deg 15% 6%));border-color:var(--color-decorative,hsl(200deg 50% 60%));transform:translateY(-1px)}@media (max-width:768px){.work_wrapper__fEb5l{margin-block:60px 40px;padding-inline:1rem}.work_sectionTitle__8Kpxf{font-size:1.875rem}.work_timeline__lrPkl:before{left:.75rem}.work_experienceItem___OprU{padding-left:2.5rem;margin-bottom:2.5rem}.work_timelineDot__OtWju{left:-2.5rem;width:6px;height:6px}.work_experienceContent__I8lg1{padding:1.5rem}.work_jobTitle___kURl{font-size:1.25rem}.work_companyInfo__FNEtY{flex-direction:column;align-items:flex-start;gap:.25rem}.work_duration__CzZy9:before{display:none}.work_description__RURk_{font-size:.875rem;line-height:1.6}.work_skill__J8Bb_{font-size:.75rem;padding:.3125rem .75rem}}.work_experienceContent__I8lg1:focus-within{outline:2px solid var(--color-decorative,hsl(200deg 50% 60%));outline-offset:2px}.stack_wrapper__mbVJl{-webkit-margin-before:100px;margin-block-start:100px;-webkit-margin-after:60px;margin-block-end:60px;max-width:900px;margin-inline:auto;padding-inline:2rem;position:relative}.stack_headerContent__BNZmN{display:flex;gap:10px;align-items:center;margin-block:20px;-webkit-margin-start:-10px;margin-inline-start:-10px}.stack_stack__I96ko{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:.875rem;gap:.875rem;align-items:center;justify-items:center;max-width:700px;margin:0 auto}.stack_techItem__dS03L{padding:1rem 1.25rem;color:var(--color-text,hsl(210deg 10% 90%));background:linear-gradient(135deg,hsl(210deg 20% 12%),hsl(210deg 18% 10%));border:1px solid hsl(210deg 15% 20%);border-radius:12px;text-transform:capitalize;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.625rem;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:hidden;width:100%;min-height:100px;max-width:140px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stack_techItem__dS03L:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,hsl(280deg 100% 85%/.08),hsl(200deg 100% 70%/.08));opacity:0;transition:all .4s ease;transform:translateY(100%)}.stack_techItem__dS03L:hover:before{opacity:1;transform:translateY(0)}.stack_techItem__dS03L:hover{border-color:hsl(210deg 20% 35%);background:linear-gradient(135deg,hsl(210deg 22% 15%),hsl(210deg 20% 13%));transform:translateY(-2px);box-shadow:0 4px 20px hsl(210deg 15% 8%/.4),0 1px 3px hsl(210deg 15% 8%/.2),inset 0 1px 0 hsl(210deg 25% 25%/.3)}.stack_iconWrapper__vY6Kd{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:28px;height:28px}.stack_iconWrapper__vY6Kd svg{width:24px;height:24px;color:hsl(210deg 20% 70%);transition:all .3s ease;filter:drop-shadow(0 1px 2px hsl(210deg 15% 8%/.3))}.stack_techItem__dS03L:hover .stack_iconWrapper__vY6Kd svg{color:hsl(210deg 20% 12%);filter:drop-shadow(0 2px 4px hsl(280deg 100% 85%/.2))}.stack_techName__Wnl6R{position:relative;z-index:1;font-size:.8125rem;font-weight:500;letter-spacing:.025em;text-align:center;color:hsl(210deg 15% 60%);transition:all .3s ease;line-height:1.2;text-shadow:0 1px 2px hsl(210deg 15% 8%/.3)}.stack_techItem__dS03L:hover .stack_techName__Wnl6R{color:hsl(210deg 10% 85%);text-shadow:0 1px 3px hsl(210deg 15% 8%/.5)}@media (max-width:768px){.stack_wrapper__mbVJl{-webkit-margin-before:80px;margin-block-start:80px;-webkit-margin-after:40px;margin-block-end:40px;padding-inline:1rem}.stack_title___bcAM{font-size:1.875rem;margin-bottom:2rem}.stack_stack__I96ko{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem;max-width:500px}.stack_techItem__dS03L{padding:.875rem 1rem;min-height:85px;max-width:120px}.stack_iconWrapper__vY6Kd{width:24px;height:24px}.stack_iconWrapper__vY6Kd svg{width:20px;height:20px}.stack_techName__Wnl6R{font-size:.75rem}}@media (max-width:480px){.stack_stack__I96ko{grid-template-columns:repeat(3,1fr);max-width:360px}.stack_techItem__dS03L{padding:.75rem;min-height:80px;max-width:110px}}.stack_techItem__dS03L:focus{outline:2px solid var(--color-decorative);outline-offset:2px}.stack_techItem__dS03L[data-loading=true]{pointer-events:none;opacity:.5}@media (prefers-contrast:high){.stack_techItem__dS03L{border-width:2px}.stack_techItem__dS03L:hover{border-width:3px}}