@import"https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&display=swap";@layer tokens{@property --inline-size-md{syntax: "<length-percentage>"; inherits: true; initial-value: 100vi;}:root{color-scheme:light dark;--color-neutral-50: oklch(.985 0 0);--color-neutral-100: oklch(.97 0 0);--color-neutral-200: oklch(.922 0 0);--color-neutral-300: oklch(.87 0 0);--color-neutral-400: oklch(.708 0 0);--color-neutral-500: oklch(.556 0 0);--color-neutral-600: oklch(.439 0 0);--color-neutral-700: oklch(.371 0 0);--color-neutral-750: oklch(.32 0 0);--color-neutral-800: oklch(.269 0 0);--color-neutral-850: oklch(.23 0 0);--color-neutral-900: oklch(.205 0 0);--color-neutral-950: oklch(.145 0 0);--color-lime-50: oklch(.986 .031 120.757);--color-lime-100: oklch(.967 .067 122.328);--color-lime-200: oklch(.938 .127 124.321);--color-lime-300: oklch(.897 .196 126.665);--color-lime-400: oklch(.841 .238 128.85);--color-lime-500: oklch(.768 .233 130.85);--color-lime-600: oklch(.648 .2 131.684);--color-lime-700: oklch(.532 .157 131.589);--color-lime-800: oklch(.453 .124 130.933);--color-lime-900: oklch(.405 .101 131.063);--color-lime-950: oklch(.274 .072 132.109);--color-violet-50: oklch(.969 .016 293.756);--color-violet-100: oklch(.943 .029 294.588);--color-violet-200: oklch(.894 .057 293.283);--color-violet-300: oklch(.811 .111 293.571);--color-violet-400: oklch(.702 .183 293.541);--color-violet-500: oklch(.606 .25 292.717);--color-violet-600: oklch(.541 .281 293.009);--color-violet-700: oklch(.491 .27 292.581);--color-violet-800: oklch(.432 .232 292.759);--color-violet-900: oklch(.38 .189 293.745);--color-violet-950: oklch(.283 .141 291.089);--color-light-500: oklch(100% 0 0);--size-50: .125rem;--size-100: .25rem;--size-150: .375rem;--size-200: .5rem;--size-300: .75rem;--size-350: .875rem;--size-400: 1rem;--size-450: 1.125rem;--size-500: 1.25rem;--size-600: 1.5rem;--size-700: 1.75rem;--size-800: 2rem;--size-900: 2.25rem;--size-1000: 2.5rem;--size-1200: 3rem;--size-1600: 4rem;--window-xs: 320px;--window-sm: 480px;--window-md: 768px;--window-lg: 1024px;--window-xl: 1280px;--window-2xl: 1536px;--font-sans: "Jost", system-ui, sans-serif;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--text-5xl: 3rem;--text-body: var(--text-md);--text-body-sm: var(--text-sm);--text-body-lg: var(--text-lg);--text-label: var(--text-xs);--text-base: var(--text-body-lg);--text-heading-xl: var(--text-4xl);--text-heading-lg: var(--text-3xl);--text-heading-md: var(--text-2xl);--text-heading-sm: var(--text-xl);--text-hero: var(--text-5xl);--text-code: var(--text-sm);--text-button: var(--text-sm);--text-caption: var(--text-xs);--ground: light-dark(oklch(.965 0 90), oklch(.29 .012 285));--surface: light-dark(oklch(.973 0 90), oklch(.345 .014 285));--ink: light-dark(oklch(.218 .019 285), oklch(.96 .005 285));--ink-muted: light-dark(oklch(.5 .014 285), oklch(.78 .014 285));--edge: light-dark(oklch(.218 .019 285), oklch(.62 .014 285));--rule: light-dark(oklch(.82 .006 285), oklch(.47 .014 285));--shadow: light-dark(oklch(.218 .019 285), oklch(.05 .008 285));--accent: oklch(.897 .196 126.665);--on-accent: oklch(.24 .03 126.665);--inverse: light-dark(oklch(.2 .02 285), oklch(.95 .005 285));--on-inverse: light-dark(oklch(.97 .006 285), oklch(.2 .02 285));--link: light-dark(oklch(.55 .25 292.717), oklch(.75 .13 292.717));--speech-bubble-bg: oklch(.99 .002 90);--speech-bubble-fg: oklch(.2 .02 285);--color-speech-bubble-border: oklch(.218 .019 285);--color-primary: var(--accent);--color-secondary: var(--link);--color-muted: var(--ink-muted);--color-background: var(--ground);--color-foreground: var(--ink);--color-border: var(--edge);--color-shadow-light: var(--color-neutral-400);--color-shadow-dark: var(--shadow);--spacing-xs: var(--size-100);--spacing-sm: var(--size-200);--spacing-md: var(--size-400);--spacing-lg: var(--size-600);--spacing-xl: var(--size-800);--spacing-2xl: var(--size-1000);--round-sm: var(--size-100);--round-md: var(--size-200);--round-lg: var(--size-300);--round-xl: var(--size-400);--round-circle: 50%;--round-pill: 999em;--round-full: 9999px;--border-width-thin: 1px;--border-width-thick: 2px;--shadow-sm: 0 1px 2px var(--color-shadow-dark);--shadow-md: 0 3.5px 7px var(--color-shadow-dark);--shadow-lg: 0 10px 25px var(--color-shadow-dark);--shadow-xl: 0 20px 40px var(--color-shadow-dark);--inline-size-md: min(var(--window-md), 100vi);--content-max-width: 1100px;--content-min-width: 320px;--spacing-2xs: var(--size-50);--spacing-base: var(--size-300);--spacing-md-lg: var(--size-500);--spacing-lg-xl: var(--size-700);--text-responsive-title: clamp(var(--size-600), 4vw, var(--size-1000));--text-responsive-title-mobile: clamp(var(--size-700), 7vw, var(--size-900));--text-article-body: clamp(var(--size-400), .9rem + .3vw, var(--size-450));--text-article-h1: 2.25em;--text-article-h2: 1.75em;--text-article-h3: 1.375em;--text-article-h4: 1.125em;--text-outline: 3px 0 .3px var(--color-primary), 2.95px .59px .3px var(--color-primary), 2.77px 1.15px .3px var(--color-primary), 2.49px 1.67px .3px var(--color-primary), 2.12px 2.12px .3px var(--color-primary), 1.67px 2.49px .3px var(--color-primary), 1.15px 2.77px .3px var(--color-primary), .59px 2.95px .3px var(--color-primary), 0 3px .3px var(--color-primary), -.59px 2.95px .3px var(--color-primary), -1.15px 2.77px .3px var(--color-primary), -1.67px 2.49px .3px var(--color-primary), -2.12px 2.12px .3px var(--color-primary), -2.49px 1.67px .3px var(--color-primary), -2.77px 1.15px .3px var(--color-primary), -2.95px .59px .3px var(--color-primary), -3px 0 .3px var(--color-primary), -2.95px -.59px .3px var(--color-primary), -2.77px -1.15px .3px var(--color-primary), -2.49px -1.67px .3px var(--color-primary), -2.12px -2.12px .3px var(--color-primary), -1.67px -2.49px .3px var(--color-primary), -1.15px -2.77px .3px var(--color-primary), -.59px -2.95px .3px var(--color-primary), 0 -3px .3px var(--color-primary), .59px -2.95px .3px var(--color-primary), 1.15px -2.77px .3px var(--color-primary), 1.67px -2.49px .3px var(--color-primary), 2.12px -2.12px .3px var(--color-primary), 2.49px -1.67px .3px var(--color-primary), 2.77px -1.15px .3px var(--color-primary), 2.95px -.59px .3px var(--color-primary), 5px 0 .3px var(--color-shadow-dark), 4.91px .98px .3px var(--color-shadow-dark), 4.62px 1.91px .3px var(--color-shadow-dark), 4.16px 2.78px .3px var(--color-shadow-dark), 3.54px 3.54px .3px var(--color-shadow-dark), 2.78px 4.16px .3px var(--color-shadow-dark), 1.91px 4.62px .3px var(--color-shadow-dark), .98px 4.91px .3px var(--color-shadow-dark), 0 5px .3px var(--color-shadow-dark), -.98px 4.91px .3px var(--color-shadow-dark), -1.91px 4.62px .3px var(--color-shadow-dark), -2.78px 4.16px .3px var(--color-shadow-dark), -3.54px 3.54px .3px var(--color-shadow-dark), -4.16px 2.78px .3px var(--color-shadow-dark), -4.62px 1.91px .3px var(--color-shadow-dark), -4.91px .98px .3px var(--color-shadow-dark), -5px 0 .3px var(--color-shadow-dark), -4.91px -.98px .3px var(--color-shadow-dark), -4.62px -1.91px .3px var(--color-shadow-dark), -4.16px -2.78px .3px var(--color-shadow-dark), -3.54px -3.54px .3px var(--color-shadow-dark), -2.78px -4.16px .3px var(--color-shadow-dark), -1.91px -4.62px .3px var(--color-shadow-dark), -.98px -4.91px .3px var(--color-shadow-dark), 0 -5px .3px var(--color-shadow-dark), .98px -4.91px .3px var(--color-shadow-dark), 1.91px -4.62px .3px var(--color-shadow-dark), 2.78px -4.16px .3px var(--color-shadow-dark), 3.54px -3.54px .3px var(--color-shadow-dark), 4.16px -2.78px .3px var(--color-shadow-dark), 4.62px -1.91px .3px var(--color-shadow-dark), 4.91px -.98px .3px var(--color-shadow-dark);--color-muted-light: var(--ink-muted);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-spring: linear(0, .6 20%, 1.1 55%, .97 72%, 1);--ease-standard: ease-in-out;--ease-out: ease-out;--duration-snap: .06s;--duration-instant: .1s;--duration-fast: .15s;--duration-base: .2s;--duration-hover: .25s;--duration-slow: .3s;--duration-panel: .35s;--duration-spring: .35s;animation:track-scroll linear both,cross-threshold linear both;animation-timeline:scroll(root),scroll(root);animation-range:0 100%,299px 300px}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}@media (max-width: 768px){:root{--text-sm: var(--size-350);--text-md: var(--size-400);--text-lg: var(--size-500)}}@property --scroll-position{syntax: "<number>"; inherits: true; initial-value: 0;}@property --scroll-position-delayed{syntax: "<number>"; inherits: true; initial-value: 0;}@property --scroll-direction{syntax: "<number>"; inherits: true; initial-value: 0;}@property --past-threshold{syntax: "<number>"; inherits: true; initial-value: 0;}@keyframes track-scroll{to{--scroll-position: 100;--scroll-position-delayed: 100}}@keyframes cross-threshold{to{--past-threshold: 1}}}@layer base{@layer{*,*:after,*:before{box-sizing:border-box}:focus-visible{outline-offset:3px}html{-webkit-text-size-adjust:none;text-size-adjust:none}html{line-height:1.5}html{scrollbar-gutter:stable}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}h1{font-size:2em;margin-block:.67em}abbr[title]{cursor:help;text-decoration-line:underline;text-decoration-style:dotted}@media (forced-colors: active){mark{color:HighlightText;background-color:Highlight}}audio,iframe,img,svg,video{max-block-size:100%;max-inline-size:100%}fieldset{min-inline-size:0}label:has(+:where(input:not([type=radio],[type=checkbox]),select,textarea)){display:block}textarea:not([rows]){min-block-size:6em}button,input,select,textarea{font-family:inherit;font-size:inherit}[type=search]{-webkit-appearance:textfield}@supports (-webkit-touch-callout: none){[type=search]{border:1px solid -apple-system-secondary-label;background-color:canvas}}input:where([type=tel],[type=url],[type=email],[type=number]):not(:placeholder-shown){direction:ltr}table{border-collapse:collapse;border:1px solid}th,td{border:1px solid;padding:.25em .5em;vertical-align:top}dialog::backdrop{background:#0000004d}dialog,[popover],dialog::backdrop{opacity:0;transition:opacity .15s ease-out,display .15s allow-discrete,overlay .15s allow-discrete}dialog[open],:popover-open,dialog[open]::backdrop{opacity:1}@starting-style{dialog[open],:popover-open,dialog[open]::backdrop{opacity:0}}[hidden]:not([hidden=until-found]){display:none!important}img{display:block}summary{cursor:default}iframe{border:none}@supports (position-area: end){[popover]{margin:0;position-area:end span-end;position-try-fallbacks:flip-block,flip-inline,flip-block flip-inline}}}@view-transition{navigation: auto;}body{font-family:var(--font-sans);background-color:var(--color-background);color:var(--color-foreground);word-break:auto-phrase;margin:0;padding:0;transition:background-color .3s,color .3s,--scroll-position-delayed .3s var(--ease-standard);--scroll-direction: sign(calc(var(--scroll-position) - var(--scroll-position-delayed)));line-height:1.6;min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}h1{font-size:var(--text-heading-lg);font-weight:var(--font-bold);margin:0;text-wrap:balance}h2{font-size:var(--text-heading-md);font-weight:var(--font-semibold);margin:0;text-wrap:balance}h3{font-size:var(--text-heading-sm);font-weight:var(--font-medium);margin:0}@media (max-width: 768px){h1{font-size:var(--size-600)}h2{font-size:var(--size-500)}h3{font-size:var(--size-450)}}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--duration-base)}@media (prefers-reduced-motion: reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}}@layer components{:root{--color-header-background: oklch(.2 .02 285);--color-header-foreground: oklch(.97 .006 285);--color-header-border: oklch(.97 .006 285);--color-header-shadow: var(--shadow);--header-border: var(--border-width-thin) solid var(--color-header-border);--header-shadow: 0 2px 0 var(--color-header-shadow);--color-card-background: var(--surface);--color-card-background-hover: light-dark(oklch(.94 0 90), oklch(.4 .014 285));--color-card-foreground: var(--ink);--color-card-border: var(--edge);--color-card-shadow: var(--shadow);--card-border: var(--border-width-thick) solid var(--color-card-border);--card-shadow: 4px 4px 0 var(--color-card-shadow);--card-shadow-hover: 2px 2px 0 var(--color-card-shadow);--card-shadow-active: 0 0 0 var(--color-card-shadow);--card-title-font-size: clamp(var(--text-lg), 5vw, var(--text-2xl));--color-tag-background: var(--accent);--color-tag-foreground: var(--on-accent);--color-tag-border: var(--edge);--color-tag-shadow: var(--shadow);--tag-border: var(--border-width-thick) solid var(--color-tag-border);--tag-shadow: 3px 3px 0 var(--color-tag-shadow);--tag-shadow-hover: 1.5px 1.5px 0 var(--color-tag-shadow);--tag-shadow-active: 0 0 0 var(--color-tag-shadow);--color-code-inline-bg: light-dark(oklch(.92 0 90), oklch(.24 .012 285));--color-code-inline-fg: var(--ink);--color-code-block-bg: light-dark(oklch(.94 0 90), oklch(.235 .012 285));--code-inline-padding: .2em .4em;--code-block-padding: var(--size-700);--code-block-padding-mobile: var(--size-500);--color-blockquote-bg: var(--surface);--color-blockquote-fg: var(--ink-muted);--blockquote-padding-x: var(--size-600);--blockquote-padding-x-mobile: var(--size-400);--blockquote-padding-y: var(--size-400);--color-table-border: var(--rule);--color-table-header-bg: var(--surface);--table-cell-padding: .5em 1em;--theme-switch-gap: var(--size-50);--theme-switch-padding: var(--size-100);--theme-switch-button-size: var(--size-700);--theme-switch-icon-size: var(--size-450);--color-theme-switch-track: oklch(.33 .02 285);--color-theme-switch-foreground: oklch(.78 .012 285);--color-theme-switch-selected-background: oklch(.97 .006 285);--color-theme-switch-selected-foreground: oklch(.2 .02 285);--card-padding-compact: var(--size-350);--post-nav-gap: var(--size-600);--post-nav-gap-mobile: var(--size-500);--post-nav-link-padding: var(--size-300);--post-title-color: var(--on-accent);--heading-border-width: 2px;--heading-h2-padding-bottom: var(--size-150);--color-heading-border: var(--rule);--toc-padding: var(--size-400);--toc-title-padding-bottom: var(--size-200);--toc-title-margin-bottom: var(--size-300);--toc-item-padding: var(--size-100) var(--size-150);--toc-nested-margin-left: var(--size-200);--toc-nested-item-padding: var(--size-50) var(--size-150);--color-toc-border: var(--rule);--toc-selected-item-color: var(--on-accent);--toc-target-before-color: var(--ink-muted);--toc-target-after-color: var(--ink-muted);--mobile-toc-padding: var(--size-400);--mobile-toc-summary-padding: var(--size-200) var(--size-400);--mobile-toc-bg: var(--color-card-background);--mobile-toc-border: var(--card-border);--mobile-toc-radius: var(--round-md);--toc-fab-size: var(--size-1000);--toc-fab-bg: var(--accent);--toc-fab-color: var(--on-accent);--toc-fab-shadow: var(--shadow-md);--toc-fab-radius: var(--round-full);--hero-padding-top: clamp(6.5rem, 11vw, 9rem);--hero-padding-bottom: clamp(1rem, 4vw, 4.5rem);--hero-title-font-size: clamp(1.5rem, 4.2vw, 62px);--hero-description-font-size: clamp(var(--text-sm), 1.4vw, var(--text-lg));--hero-letter-spacing: -.02em;--hero-line-height: 1.2;--hero-mascot-size: clamp(118px, 17vw, 240px);--speech-bubble-border: var(--border-width-thick) solid var(--color-speech-bubble-border);--color-speech-bubble-shadow: var(--shadow);--speech-bubble-shadow: 4px 4px 0 var(--color-speech-bubble-shadow);--thought-bubble-size-lg: clamp(20px, 2.4vw, 32px);--thought-bubble-size-sm: clamp(11px, 1.4vw, 18px);--thought-bubble-shadow-lg: 3px 3px 0 var(--color-speech-bubble-shadow);--thought-bubble-shadow-sm: 2px 2px 0 var(--color-speech-bubble-shadow);--thought-bubble-delay-sm: 0s;--thought-bubble-delay-lg: .2s;--speech-bubble-delay: .3s;--color-focus-ring: var(--accent);--color-focus-ring-halo: var(--ink);--focus-ring-offset: 2px;--focus-ring: 2px solid var(--color-focus-ring);--focus-ring-halo: 0 0 0 6px var(--color-focus-ring-halo);--new-label-text: oklch(.95 .18 95);--new-label-burst: oklch(.55 .22 27);--new-label-outline: oklch(.15 0 0);--new-label-size: 3.5rem;--color-hamburger-background: var(--color-card-background);--color-hamburger-foreground: var(--color-foreground);--drawer-width: min(15rem, 60vw);--border-hamburger: var(--border-width-thick) solid var(--color-foreground);--shadow-hamburger: 0px 0px 4px var(--color-hamburger-foreground);--color-profile-border: var(--edge)}[data-theme-option]{background-color:transparent;color:var(--color-theme-switch-foreground)}:root:not([data-theme]) [data-theme-option=system],:root[data-theme=light] [data-theme-option=light],:root[data-theme=dark] [data-theme-option=dark]{background-color:var(--color-theme-switch-selected-background);color:var(--color-theme-switch-selected-foreground)}[role=group]:has([data-theme-option]){background-color:var(--color-theme-switch-track)}@media (hover: hover){[data-theme-option]:hover{color:var(--color-theme-switch-selected-background)}:root:not([data-theme]) [data-theme-option=system]:hover,:root[data-theme=light] [data-theme-option=light]:hover,:root[data-theme=dark] [data-theme-option=dark]:hover{color:var(--color-theme-switch-selected-foreground)}}}@layer utilities{.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@keyframes new-label-pop{0%{scale:0}to{scale:1}}@keyframes bubble-pop{0%{opacity:0;scale:.2}to{opacity:1;scale:1}}}
