@layer base{:root{--clr-white:#fff;--clr-black:#292929;--clr-gray-100:#f2f2f2;--clr-gray-500:#b0b0b0;--clr-gray-700:#8f8f8f;--clr-gray-900:#888686;--clr-blueberry-100:#d2d7f3;--clr-blueberry-200:#aeb7ea;--clr-blueberry-300:#6f88f6;--clr-blueberry-500:#5573f6;--clr-blueberry-600:#4a63d3;--clr-blueberry-700:#2f4ac1;--clr-pink-100:#fbe4ef;--clr-pink-300:#f7c5dd;--clr-pink-500:#fc83bd;--clr-lavender-100:#eee6fa;--clr-lavender-200:#d5c0f2;--clr-lavender-300:#bf9eeb;--clr-lavender-500:#965ede;--clr-yellow-500:#ffe95c;--clr-yellow-700:#ffca38;--ff-heading:"JetBrains Mono", monospace;--ff-body:"SF Pro Display", -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:40px;--space-8:56px;--default-layout-gap:var(--space-5);--big-layout-gap:var(--space-7);--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:999px;--fs-300:14px;--fs-400:16px;--fs-500:18px;--fs-600:20px;--fs-700:24px;--fs-800:32px;--fs-900:44px;--fs-1000:55.2px;--leading-tight:1.1;--leading-snug:1.25;--leading-normal:1.4;--leading-relaxed:1.6;--leading-loose:1.7;--tracking-normal:0em;--tracking-wide:.04em;--tracking-wider:.06em;--duration-fast:.15s;--duration-base:.2s;--duration-slow:.3s;--ease-out:ease-out;--ease-in-out:ease-in-out;--shadow-sm:0 4px 20px #00000026;--shadow-md:0 10px 24px #00000038;--shadow-lg:0 12px 28px #00000038;--z-base:0;--z-dropdown:10;--z-sticky:20;--z-overlay:1000;--z-modal:1001;@media (width<=899px){--default-layout-gap:var(--space-4);--big-layout-gap:var(--space-5);--fs-300:13px;--fs-400:15px;--fs-500:16px;--fs-600:18px;--fs-700:20px;--fs-800:24px;--fs-900:32px;--fs-1000:40px}}:root{--badge-background:var(--clr-pink-500);--badge-text:var(--clr-yellow-500);--surface-main:var(--clr-gray-900);--surface-raised:var(--clr-gray-100);--surface-accent:var(--clr-yellow-500);--border-emphasis:var(--clr-black);--card-action-background-hover:var(--clr-blueberry-500);--card-action-color:var(--clr-black);--card-action-color-hover:var(--clr-white);--button-hover-background:var(--clr-pink-500);--button-hover-color:var(--clr-white);--block-card-background:var(--clr-blueberry-100);--block-card-background-hover:var(--clr-blueberry-200);--block-card-text:var(--clr-black);--text-main:var(--clr-black);--text-inverse:var(--clr-black);--text-info-card:var(--clr-black);--text-blog-date:var(--clr-gray-900);--code-background:var(--clr-gray-100);--code-text:var(--clr-black);--accent:#ffb6c1;--social-icon-primary:var(--clr-black);--social-icon-secondary:var(--clr-gray-700);--social-button-hover-background:var(--clr-pink-500);--theme-btn-yellow-background:var(--clr-yellow-500);--theme-btn-yellow-foreground:var(--clr-black);--theme-btn-yellow-hover-background:var(--clr-yellow-500);--theme-btn-yellow-hover-foreground:var(--clr-black);--theme-btn-blue-background:var(--clr-blueberry-500);--theme-btn-blue-foreground:var(--clr-white);--theme-btn-blue-hover-background:var(--clr-black);--theme-btn-blue-hover-foreground:var(--clr-gray-700);--theme-btn-blue-hover-accent:var(--clr-blueberry-500);--theme-btn-pink-background:var(--clr-pink-500);--theme-btn-pink-foreground:var(--clr-black);--theme-btn-pink-hover-background:var(--clr-pink-500);--theme-btn-pink-hover-foreground:var(--clr-black)}[data-theme=blue]{--badge-background:var(--clr-black);--badge-text:var(--clr-blueberry-500);--surface-main:var(--clr-black);--surface-raised:var(--clr-blueberry-500);--surface-accent:var(--clr-blueberry-500);--border-emphasis:var(--clr-white);--button-hover-color:var(--clr-black);--button-hover-background:var(--clr-white);--card-action-background-hover:var(--clr-blueberry-700);--card-action-color:var(--clr-white);--card-action-color-hover:var(--clr-white);--block-card-background:var(--clr-blueberry-300);--block-card-background-hover:var(--clr-blueberry-600);--block-card-text:var(--clr-white);--text-main:var(--clr-white);--text-inverse:var(--clr-black);--text-info-card:var(--clr-white);--text-blog-date:var(--clr-white);--code-background:var(--clr-blueberry-100);--code-text:var(--clr-black);--accent:#ffb6c1;--social-icon-primary:var(--clr-white);--social-icon-secondary:var(--clr-gray-100);--social-button-hover-background:var(--clr-black);--theme-btn-yellow-background:var(--clr-black);--theme-btn-yellow-foreground:var(--clr-yellow-500);--theme-btn-yellow-hover-background:var(--clr-black);--theme-btn-yellow-hover-foreground:var(--clr-yellow-500);--theme-btn-blue-background:var(--clr-black);--theme-btn-blue-foreground:var(--clr-white);--theme-btn-blue-hover-background:var(--clr-black);--theme-btn-blue-hover-foreground:var(--clr-gray-700);--theme-btn-blue-hover-accent:var(--clr-blueberry-500);--theme-btn-pink-background:var(--clr-black);--theme-btn-pink-foreground:var(--clr-pink-500);--theme-btn-pink-hover-background:var(--clr-black);--theme-btn-pink-hover-foreground:var(--clr-pink-500)}[data-theme=pink]{--badge-background:var(--clr-yellow-500);--badge-text:var(--clr-black);--surface-main:var(--clr-pink-500);--surface-raised:var(--clr-gray-100);--surface-accent:var(--clr-lavender-500);--border-emphasis:var(--clr-black);--button-hover-color:var(--clr-white);--card-action-background-hover:var(--clr-lavender-500);--card-action-color:var(--clr-black);--card-action-color-hover:var(--clr-white);--button-hover-background:var(--clr-black);--block-card-background-hover:var(--clr-lavender-200);--block-card-background:var(--clr-lavender-100);--block-card-text:var(--clr-black);--text-main:var(--clr-black);--text-inverse:var(--clr-white);--text-info-card:var(--clr-white);--text-blog-date:var(--clr-gray-900);--code-background:var(--clr-lavender-100);--code-text:var(--clr-black);--accent:var(--clr-yellow-500);--social-icon-primary:var(--clr-black);--social-icon-secondary:var(--clr-gray-700);--social-button-hover-background:var(--clr-yellow-500);--theme-btn-yellow-background:var(--clr-pink-500);--theme-btn-yellow-foreground:var(--clr-yellow-500);--theme-btn-yellow-hover-background:var(--clr-pink-500);--theme-btn-yellow-hover-foreground:var(--clr-yellow-500);--theme-btn-blue-background:var(--clr-pink-500);--theme-btn-blue-foreground:var(--clr-blueberry-500);--theme-btn-blue-hover-background:var(--clr-pink-500);--theme-btn-blue-hover-foreground:var(--clr-blueberry-500);--theme-btn-blue-hover-accent:var(--clr-blueberry-500);--theme-btn-pink-background:var(--clr-pink-500);--theme-btn-pink-foreground:var(--clr-black);--theme-btn-pink-hover-background:var(--clr-pink-500);--theme-btn-pink-hover-foreground:var(--clr-black)}:root{--button-border-color:var(--border-emphasis);--button-colored-background:var(--surface-accent);--button-link-color:var(--text-main);--button-secondary-background:var(--surface-accent);--button-secondary-border:var(--accent);--button-secondary-text:var(--text-inverse);--blockquote-accent:var(--badge-background);--lightbox-backdrop:#141414eb;--lightbox-foreground:var(--clr-white);--book-cover-shadow:var(--shadow-md);--book-cover-shadow-lg:var(--shadow-lg)}body{font-family:var(--ff-body);font-size:var(--fs-400);color:var(--text-main);background-color:var(--surface-main)}h1,h2,h3,h4{font-family:var(--ff-heading)}a{color:var(--text-main)}img{border-radius:var(--radius-md)}}@layer reset{*,:before,:after{box-sizing:border-box}html{text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0;padding:0}[role=list]{margin:0;padding:0;list-style:none}body{min-block-size:100vh;line-height:1.6}h1,h2,h3,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance;font-family:var(--ff-heading)}code{font-family:JetBrains Mono,monospace;font-size:.95em}p,li{text-wrap:pretty;font-family:var(--ff-body)}img,picture{max-inline-size:100%;display:block}input,button,textarea,select{font:inherit}}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Light.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/sf-pro-display-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/sf-pro-display-medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/sf-pro-display-bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/sf-pro-display-light.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@layer utilities{.border-radius-sm{border-radius:var(--radius-md)}.text-center{text-align:center}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@layer components{h1{font-size:var(--fs-1000);font-weight:300;line-height:55px;font-family:var(--ff-heading);color:var(--text-main)}h2{font-size:var(--fs-800);font-weight:400;line-height:40px;font-family:var(--ff-heading);color:var(--text-main)}h3{font-size:var(--fs-700);font-weight:400;line-height:30px;font-family:var(--ff-heading);color:var(--text-main)}p{font-size:var(--fs-600);font-weight:400;line-height:140%;font-family:var(--ff-body);color:var(--text-main);letter-spacing:.01em}.cta-font{font-size:var(--fs-600);font-weight:400;line-height:20px;font-family:var(--ff-heading);color:var(--text-main)}}.hamburger-wrapper[data-astro-cid-qpeloze6]{background-color:var(--surface-raised);border-radius:var(--radius-md);justify-content:center;align-items:center;width:66px;height:66px;display:flex;position:relative}.hamburger-button[data-astro-cid-qpeloze6]{cursor:pointer;width:32px;height:24px;z-index:var(--z-modal);background:0 0;border:none;flex-direction:column;justify-content:space-between;padding:0;display:flex;position:relative}.hamburger-line[data-astro-cid-qpeloze6]{background-color:var(--text-main);width:100%;height:3px;transition:all var(--duration-slow) var(--ease-in-out);transform-origin:50%;border-radius:2px}.hamburger-button[data-astro-cid-qpeloze6].active .hamburger-line[data-astro-cid-qpeloze6]:first-child{transform:translateY(10.5px)rotate(45deg)}.hamburger-button[data-astro-cid-qpeloze6].active .hamburger-line[data-astro-cid-qpeloze6]:nth-child(2){opacity:0;transform:translate(-100%)}.hamburger-button[data-astro-cid-qpeloze6].active .hamburger-line[data-astro-cid-qpeloze6]:nth-child(3){transform:translateY(-10.5px)rotate(-45deg)}.mobile-menu[data-astro-cid-qpeloze6]{background:var(--surface-accent);border:1px solid var(--button-border-color);border-radius:var(--radius-md);opacity:0;visibility:hidden;min-width:90vw;transition:all var(--duration-slow) var(--ease-in-out);z-index:var(--z-overlay);padding:var(--space-4);box-shadow:var(--shadow-sm);position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-10px)}.mobile-menu[data-astro-cid-qpeloze6].active{opacity:1;visibility:visible;transform:translateY(0)}.menu-list[data-astro-cid-qpeloze6]{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.menu-item[data-astro-cid-qpeloze6]{opacity:0;transition:all var(--duration-base) var(--ease-in-out);transform:translateY(-5px)}.menu-item[data-astro-cid-qpeloze6]:hover{text-decoration:underline}.mobile-menu[data-astro-cid-qpeloze6].active .menu-item[data-astro-cid-qpeloze6]{opacity:1;transform:translateY(0)}.mobile-menu[data-astro-cid-qpeloze6].active .menu-item[data-astro-cid-qpeloze6]:first-child{transition-delay:50ms}.mobile-menu[data-astro-cid-qpeloze6].active .menu-item[data-astro-cid-qpeloze6]:nth-child(2){transition-delay:.1s}.mobile-menu[data-astro-cid-qpeloze6].active .menu-item[data-astro-cid-qpeloze6]:nth-child(3){transition-delay:.15s}.mobile-menu[data-astro-cid-qpeloze6].active .menu-item[data-astro-cid-qpeloze6]:nth-child(4){transition-delay:.2s}.mobile-menu[data-astro-cid-qpeloze6].active .menu-item[data-astro-cid-qpeloze6]:nth-child(5){transition-delay:.25s}.menu-link[data-astro-cid-qpeloze6]{color:var(--text-main);font-size:var(--fs-400);font-weight:300;font-family:var(--ff-heading);transition:all var(--duration-base) var(--ease-out);padding:12px var(--space-4);white-space:nowrap;border-radius:6px;text-decoration:none;display:block}.menu-link[data-astro-cid-qpeloze6]:hover{text-decoration:underline}.menu-link[data-astro-cid-qpeloze6][aria-current=page]{font-weight:500;text-decoration:underline}@media (width>=900px){.hamburger-wrapper[data-astro-cid-qpeloze6]{display:none}}.block[data-astro-cid-sh64q5uo]{background:var(--surface-raised);border-radius:var(--radius-md);padding:20px var(--big-layout-gap);width:100%}.block-background-secondary[data-astro-cid-sh64q5uo]{background:var(--surface-accent)}.button[data-astro-cid-4hdjs4pg]{border:1px solid var(--button-border-color);color:var(--button-border-color);text-align:center;text-transform:uppercase;font-size:var(--fs-400);cursor:pointer;width:fit-content;min-width:min(200px,100%);max-width:100%;height:var(--space-7);padding-inline:var(--space-4);font-family:var(--ff-heading);background-color:#0000;justify-content:center;align-items:center;gap:10px;font-weight:300;text-decoration:none;display:flex}.button[data-astro-cid-4hdjs4pg]:hover{border-color:var(--button-hover-background);background-color:var(--button-hover-background);color:var(--button-hover-color)}.button[data-astro-cid-4hdjs4pg]:focus-visible{outline:2px solid var(--button-border-color);outline-offset:2px}.colored[data-astro-cid-4hdjs4pg]{background-color:var(--button-colored-background);border-color:var(--button-colored-background)}.outline[data-astro-cid-4hdjs4pg]{border:1px solid var(--button-border-color)}.outline[data-astro-cid-4hdjs4pg]:hover{background-color:var(--button-hover-background);border-color:var(--button-hover-background)}.secondary[data-astro-cid-4hdjs4pg]{background-color:var(--button-secondary-background);border-color:var(--button-secondary-border);color:var(--button-secondary-text)}.link[data-astro-cid-4hdjs4pg]{min-width:auto;height:auto;color:var(--button-link-color);background:0 0;border:none;padding:0;text-decoration:underline}.link[data-astro-cid-4hdjs4pg]:hover{color:var(--button-hover-background);background:0 0;border:none}.button-container[data-astro-cid-4eub3d5z]{aspect-ratio:1;width:min(120px,100%);position:relative}svg[data-astro-cid-4eub3d5z]{width:100%;height:100%;transition:opacity var(--duration-base) var(--ease-out);position:absolute;top:0;left:0}svg[data-astro-cid-4eub3d5z].regular{opacity:1}svg[data-astro-cid-4eub3d5z].hover,.button-container[data-astro-cid-4eub3d5z]:hover svg[data-astro-cid-4eub3d5z].regular{opacity:0}.button-container[data-astro-cid-4eub3d5z]:hover svg[data-astro-cid-4eub3d5z].hover{opacity:1}.button-container[data-astro-cid-bm4rz7qf]{aspect-ratio:1;width:min(120px,100%);position:relative}svg[data-astro-cid-bm4rz7qf]{width:100%;height:100%;transition:opacity var(--duration-base) var(--ease-out);position:absolute;top:0;left:0}svg[data-astro-cid-bm4rz7qf].regular{opacity:1}svg[data-astro-cid-bm4rz7qf].hover,.button-container[data-astro-cid-bm4rz7qf]:hover svg[data-astro-cid-bm4rz7qf].regular{opacity:0}.button-container[data-astro-cid-bm4rz7qf]:hover svg[data-astro-cid-bm4rz7qf].hover{opacity:1}.button-container[data-astro-cid-yusyxbut]{aspect-ratio:1;width:min(120px,100%);position:relative}svg[data-astro-cid-yusyxbut]{width:100%;height:100%;transition:opacity var(--duration-base) var(--ease-out);position:absolute;top:0;left:0}svg[data-astro-cid-yusyxbut].regular{opacity:1}svg[data-astro-cid-yusyxbut].hover,.button-container[data-astro-cid-yusyxbut]:hover svg[data-astro-cid-yusyxbut].regular{opacity:0}.button-container[data-astro-cid-yusyxbut]:hover svg[data-astro-cid-yusyxbut].hover{opacity:1}.theme-switcher-container[data-astro-cid-rf5juafs]{width:100%;padding:var(--default-layout-gap) var(--default-layout-gap);background:var(--surface-raised);border-radius:var(--radius-md)}.theme-switcher[data-astro-cid-rf5juafs]{gap:var(--default-layout-gap);justify-content:space-between;align-items:center;width:100%;display:flex}.theme-btn[data-astro-cid-rf5juafs]{cursor:pointer;transition:transform var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;width:30%;height:120px;padding:0;display:flex}.theme-btn[data-astro-cid-rf5juafs]:hover,.theme-btn[data-astro-cid-rf5juafs][aria-pressed=true]{transform:scale(1.1)}@media (width<=899px){.theme-switcher-container[data-astro-cid-rf5juafs]{border-radius:var(--radius-md);padding:10px}.theme-btn[data-astro-cid-rf5juafs]{flex:0 0 48px;width:48px;height:48px}}.badge[data-astro-cid-pbn33xyv]{font-family:var(--ff-heading);background-color:var(--badge-background);color:var(--badge-text);padding:0 var(--space-4);font-size:var(--fs-400);font-weight:400;display:inline-block}.info-card[data-astro-cid-o2xtp4fg]{grid-template-rows:1fr 10fr 1fr;grid-template-columns:1fr;width:100%;min-width:0;height:100%;display:grid}.info-card[data-astro-cid-o2xtp4fg] h2,.info-card[data-astro-cid-o2xtp4fg] p,.info-card[data-astro-cid-o2xtp4fg] a{overflow-wrap:anywhere;margin:0;color:var(--text-info-card)!important;border-color:var(--text-info-card)!important}.info-card[data-astro-cid-o2xtp4fg] a:hover{color:var(--button-hover-color)!important}.info-card-body[data-astro-cid-o2xtp4fg]{justify-content:end;gap:var(--space-2);width:100%;min-width:0;padding-block:var(--space-6);flex-direction:column;display:flex}.info-card-title[data-astro-cid-o2xtp4fg]{color:var(--text-info-card);justify-content:space-between;align-items:center;display:flex}
