.ec-comments[data-astro-cid-z4t5taj7]{--ec-comment-gap: 1.5rem;--ec-comment-indent: 2rem;--ec-comment-border: 1px solid #e5e7eb}.ec-comments-list[data-astro-cid-z4t5taj7],.ec-comment-replies[data-astro-cid-z4t5taj7]{list-style:none;padding:0;margin:0}.ec-comments-list[data-astro-cid-z4t5taj7]>li[data-astro-cid-z4t5taj7]+li[data-astro-cid-z4t5taj7]{margin-top:var(--ec-comment-gap)}.ec-comment[data-astro-cid-z4t5taj7]{padding-bottom:var(--ec-comment-gap);border-bottom:var(--ec-comment-border)}.ec-comment-replies[data-astro-cid-z4t5taj7]{margin-top:var(--ec-comment-gap);padding-left:var(--ec-comment-indent)}.ec-comment-replies[data-astro-cid-z4t5taj7]>li[data-astro-cid-z4t5taj7]+li[data-astro-cid-z4t5taj7]{margin-top:var(--ec-comment-gap)}.ec-comment-header[data-astro-cid-z4t5taj7]{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.ec-comment-author[data-astro-cid-z4t5taj7]{font-weight:600}.ec-comment-author[data-astro-cid-z4t5taj7] a[data-astro-cid-z4t5taj7]{color:inherit}.ec-comment-badge[data-astro-cid-z4t5taj7]{font-size:.75em;vertical-align:super}.ec-comment-date[data-astro-cid-z4t5taj7]{font-size:.875em;opacity:.6}.ec-comment-body[data-astro-cid-z4t5taj7]{margin-top:.5rem;white-space:pre-wrap;word-break:break-word}.ec-comment-actions[data-astro-cid-z4t5taj7]{margin-top:.5rem}.ec-reaction[data-astro-cid-z4t5taj7]{display:inline-flex;align-items:center;gap:.35rem;font:inherit;font-size:.875em;color:inherit;background:none;border:var(--ec-comment-border);border-radius:999px;padding:.15rem .6rem;cursor:pointer}.ec-reaction[data-astro-cid-z4t5taj7][aria-pressed=true]{border-color:currentColor;font-weight:600}.ec-reaction[data-astro-cid-z4t5taj7][aria-pressed=true] .ec-reaction-icon[data-astro-cid-z4t5taj7]{color:#e0245e}.ec-reaction[data-astro-cid-z4t5taj7]:disabled{opacity:.5;cursor:default}.ec-reaction-count[data-astro-cid-z4t5taj7]{font-variant-numeric:tabular-nums}.ec-comment-form[data-astro-cid-uzdqdepf]{--ec-form-gap: .75rem}.ec-comment-form-fields[data-astro-cid-uzdqdepf]{display:grid;gap:var(--ec-form-gap)}@media(width>=640px){.ec-comment-form-fields[data-astro-cid-uzdqdepf]{grid-template-columns:1fr 1fr}}.ec-comment-form-field[data-astro-cid-uzdqdepf]{display:flex;flex-direction:column;gap:.25rem;margin-top:var(--ec-form-gap)}.ec-comment-form-field[data-astro-cid-uzdqdepf]:first-child,.ec-comment-form-fields[data-astro-cid-uzdqdepf] .ec-comment-form-field[data-astro-cid-uzdqdepf]{margin-top:0}.ec-comment-form-field[data-astro-cid-uzdqdepf] input[data-astro-cid-uzdqdepf],.ec-comment-form-field[data-astro-cid-uzdqdepf] textarea[data-astro-cid-uzdqdepf]{padding:.5rem;border:1px solid var(--ec-form-border, #d1d5db);border-radius:.25rem;font:inherit;background:var(--ec-form-bg, #fff);color:var(--ec-form-color, inherit)}.dark .ec-comment-form-field[data-astro-cid-uzdqdepf] input[data-astro-cid-uzdqdepf],.dark .ec-comment-form-field[data-astro-cid-uzdqdepf] textarea[data-astro-cid-uzdqdepf]{--ec-form-bg: #1f2937;--ec-form-border: #4b5563;--ec-form-color: #f9fafb}.ec-comment-user-info[data-astro-cid-uzdqdepf]{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--ec-form-user-bg, #f3f4f6);border:1px solid var(--ec-form-user-border, #d1d5db);border-radius:.375rem;font-size:.875rem}.dark .ec-comment-user-info[data-astro-cid-uzdqdepf]{background:var(--ec-form-user-bg-dark, #374151)}.ec-comment-user-name[data-astro-cid-uzdqdepf]{font-weight:600}.ec-comment-user-email[data-astro-cid-uzdqdepf]{opacity:.7}.ec-comment-user-email[data-astro-cid-uzdqdepf]:before{content:"·";margin-right:.5rem}.ec-comment-form-submit[data-astro-cid-uzdqdepf]{margin-top:var(--ec-form-gap);padding:.5rem 1.5rem;border:none;border-radius:.25rem;font:inherit;font-weight:600;cursor:pointer;background:var(--ec-form-submit-bg, #1f2937);color:var(--ec-form-submit-color, #fff)}.ec-comment-form-submit[data-astro-cid-uzdqdepf]:disabled{opacity:.6;cursor:not-allowed}.ec-comment-form-status[data-astro-cid-uzdqdepf]{margin-top:var(--ec-form-gap);font-size:.875em}.ec-comment-form-status[data-astro-cid-uzdqdepf]:empty{display:none}.ec-comment-form-success[data-astro-cid-uzdqdepf]{color:var(--ec-form-success-color, #059669)}.ec-comment-form-error[data-astro-cid-uzdqdepf]{color:var(--ec-form-error-color, #dc2626)}.emdash-image-media[data-astro-cid-uiapky2k]{max-width:100%;height:auto}.emdash-image[data-astro-cid-ukoswnea]{margin:1.5rem 0}.emdash-image[data-astro-cid-ukoswnea] img[data-astro-cid-ukoswnea]{max-width:100%;height:auto}.emdash-image[data-astro-cid-ukoswnea] figcaption[data-astro-cid-ukoswnea]{font-size:.875rem;color:var(--emdash-caption-color, var(--color-muted, #666));margin-top:.5rem;text-align:center}.emdash-image--align-left[data-astro-cid-ukoswnea],.emdash-image--align-right[data-astro-cid-ukoswnea]{width:fit-content;max-width:50%}.emdash-image--align-left[data-astro-cid-ukoswnea]{float:left;margin:0 1.5rem 1rem 0}.emdash-image--align-right[data-astro-cid-ukoswnea]{float:right;margin:0 0 1rem 1.5rem}.emdash-image--align-center[data-astro-cid-ukoswnea]{width:fit-content;margin-inline:auto}.emdash-image--align-wide[data-astro-cid-ukoswnea],.emdash-image--align-full[data-astro-cid-ukoswnea]{width:100%}@media(width<=640px){.emdash-image--align-left[data-astro-cid-ukoswnea],.emdash-image--align-right[data-astro-cid-ukoswnea]{float:none;width:100%;max-width:100%;margin-inline:0}}.emdash-code[data-astro-cid-pak3os4h]{margin:1.5rem 0}.emdash-code-filename[data-astro-cid-pak3os4h]{font-size:.75rem;font-family:monospace;background:#2d2d2d;color:#ccc;padding:.5rem 1rem;border-radius:.5rem .5rem 0 0}.emdash-code[data-astro-cid-pak3os4h] pre[data-astro-cid-pak3os4h]{margin:0;padding:1rem;background:#1e1e1e;border-radius:.5rem;overflow-x:auto}.emdash-code-filename[data-astro-cid-pak3os4h]+pre[data-astro-cid-pak3os4h]{border-radius:0 0 .5rem .5rem}.emdash-code[data-astro-cid-pak3os4h] code[data-astro-cid-pak3os4h]{font-family:Fira Code,Consolas,monospace;font-size:.875rem;color:#e0e0e0}.emdash-embed[data-astro-cid-ygqht25j]{margin:1.5rem 0}.emdash-embed-video[data-astro-cid-ygqht25j]{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.emdash-embed-video[data-astro-cid-ygqht25j] iframe[data-astro-cid-ygqht25j],.emdash-embed-video[data-astro-cid-ygqht25j] video[data-astro-cid-ygqht25j]{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.emdash-embed-audio[data-astro-cid-ygqht25j]{width:100%}.emdash-embed-audio[data-astro-cid-ygqht25j] audio[data-astro-cid-ygqht25j]{width:100%}.emdash-embed[data-astro-cid-ygqht25j] figcaption[data-astro-cid-ygqht25j]{font-size:.875rem;color:var(--emdash-caption-color, var(--color-muted, #666));margin-top:.5rem;text-align:center}.emdash-gallery[data-astro-cid-yhtglnln]{display:grid;grid-template-columns:repeat(var(--columns, 3),1fr);gap:1rem;margin:1.5rem 0}.emdash-gallery-item[data-astro-cid-yhtglnln]{margin:0}.emdash-gallery-item[data-astro-cid-yhtglnln] img[data-astro-cid-yhtglnln]{width:100%;height:auto;object-fit:cover;aspect-ratio:1}.emdash-gallery-item[data-astro-cid-yhtglnln] figcaption[data-astro-cid-yhtglnln]{font-size:.75rem;color:var(--emdash-caption-color, var(--color-muted, #666));margin-top:.25rem;text-align:center}@media(width<=640px){.emdash-gallery[data-astro-cid-yhtglnln]{grid-template-columns:repeat(2,1fr)}}.emdash-columns[data-astro-cid-4xpk466f]{display:flex;gap:2rem;margin:1.5rem 0}.emdash-column[data-astro-cid-4xpk466f]{flex:1;min-width:0}@media(width<=768px){.emdash-columns[data-astro-cid-4xpk466f]{flex-direction:column;gap:1rem}}.emdash-break[data-astro-cid-ukhn7imv]{margin:2rem 0}.emdash-break-line[data-astro-cid-ukhn7imv]{border:none;border-top:1px solid var(--emdash-break-color, var(--color-border, #e0e0e0))}.emdash-break-dots[data-astro-cid-ukhn7imv]{text-align:center;color:var(--emdash-break-dots-color, var(--color-muted, #999));letter-spacing:.5em}.emdash-break-space[data-astro-cid-ukhn7imv]{height:2rem}.emdash-html-block[data-astro-cid-cdygbta6]{margin:1.5rem 0}.emdash-table-wrapper[data-astro-cid-n67ttt43]{margin:1.5rem 0;overflow-x:auto}.emdash-table[data-astro-cid-n67ttt43]{width:100%;border-collapse:collapse;font-size:.9rem}.emdash-table[data-astro-cid-n67ttt43] th[data-astro-cid-n67ttt43],.emdash-table[data-astro-cid-n67ttt43] td[data-astro-cid-n67ttt43]{border:1px solid var(--color-border, #ddd);padding:.75rem;text-align:left}.emdash-table[data-astro-cid-n67ttt43] th[data-astro-cid-n67ttt43] p,.emdash-table[data-astro-cid-n67ttt43] td[data-astro-cid-n67ttt43] p{margin:0}.emdash-table[data-astro-cid-n67ttt43] th[data-astro-cid-n67ttt43]{background:var(--color-surface, #f5f5f5);font-weight:600}.emdash-table[data-astro-cid-n67ttt43] tbody[data-astro-cid-n67ttt43] tr[data-astro-cid-n67ttt43]:nth-child(2n){background:var(--color-bg-subtle, #fafafa)}.emdash-table[data-astro-cid-n67ttt43] tbody[data-astro-cid-n67ttt43] tr[data-astro-cid-n67ttt43]:hover{background:var(--color-surface, #f0f0f0)}.emdash-button[data-astro-cid-agz4uun3]{display:inline-block;padding:.75em 1.5em;border-radius:4px;text-decoration:none;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}.emdash-button--default[data-astro-cid-agz4uun3],.emdash-button--fill[data-astro-cid-agz4uun3]{background-color:var(--emdash-button-bg, #0073aa);color:var(--emdash-button-color, #fff);border:2px solid var(--emdash-button-bg, #0073aa)}.emdash-button--default[data-astro-cid-agz4uun3]:hover,.emdash-button--fill[data-astro-cid-agz4uun3]:hover{background-color:var(--emdash-button-bg-hover, #005177);border-color:var(--emdash-button-bg-hover, #005177)}.emdash-button--outline[data-astro-cid-agz4uun3]{background-color:#0000;color:var(--emdash-button-bg, #0073aa);border:2px solid var(--emdash-button-bg, #0073aa)}.emdash-button--outline[data-astro-cid-agz4uun3]:hover{background-color:var(--emdash-button-bg, #0073aa);color:var(--emdash-button-color, #fff)}.emdash-buttons[data-astro-cid-jdarqc2q]{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}.emdash-buttons--vertical[data-astro-cid-jdarqc2q]{flex-direction:column;align-items:flex-start}.emdash-buttons--horizontal[data-astro-cid-jdarqc2q]{flex-direction:row;align-items:center}.emdash-cover[data-astro-cid-6duznt3g]{position:relative;display:flex;align-items:center;padding:2rem;margin:1.5rem 0;overflow:hidden;border-radius:4px;background-color:var(--emdash-cover-fallback-bg, #333)}.emdash-cover__background[data-astro-cid-6duznt3g]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.emdash-cover__video[data-astro-cid-6duznt3g]{object-fit:cover}.emdash-cover__overlay[data-astro-cid-6duznt3g]{position:absolute;inset:0;z-index:1}.emdash-cover__content[data-astro-cid-6duznt3g]{position:relative;z-index:2;width:100%;color:var(--emdash-cover-text-color, #fff)}.emdash-cover--align-left[data-astro-cid-6duznt3g]{justify-content:flex-start;text-align:left}.emdash-cover--align-center[data-astro-cid-6duznt3g]{justify-content:center;text-align:center}.emdash-cover--align-right[data-astro-cid-6duznt3g]{justify-content:flex-end;text-align:right}.emdash-cover__content[data-astro-cid-6duznt3g] h1,.emdash-cover__content[data-astro-cid-6duznt3g] h2,.emdash-cover__content[data-astro-cid-6duznt3g] h3,.emdash-cover__content[data-astro-cid-6duznt3g] h4,.emdash-cover__content[data-astro-cid-6duznt3g] p{color:inherit}.emdash-file[data-astro-cid-q7qd2qfa]{display:flex;align-items:center;gap:.75rem;padding:1rem;margin:1rem 0;background-color:var(--emdash-file-bg, #f5f5f5);border-radius:4px;border:1px solid var(--emdash-file-border, #e0e0e0)}.emdash-file__link[data-astro-cid-q7qd2qfa]{display:flex;align-items:center;gap:.5rem;flex:1;text-decoration:none;color:var(--emdash-file-color, #333)}.emdash-file__link[data-astro-cid-q7qd2qfa]:hover{text-decoration:underline}.emdash-file__icon[data-astro-cid-q7qd2qfa]{width:1.5rem;height:1.5rem;flex-shrink:0;color:var(--emdash-file-icon-color, #666)}.emdash-file__name[data-astro-cid-q7qd2qfa]{font-weight:500;word-break:break-all}.emdash-file__download[data-astro-cid-q7qd2qfa]{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background-color:var(--emdash-button-bg, #0073aa);color:var(--emdash-button-color, #fff);border-radius:4px;transition:background-color .2s}.emdash-file__download[data-astro-cid-q7qd2qfa]:hover{background-color:var(--emdash-button-bg-hover, #005177)}.emdash-file__download[data-astro-cid-q7qd2qfa] svg[data-astro-cid-q7qd2qfa]{width:1.25rem;height:1.25rem}.emdash-pullquote[data-astro-cid-d5muti3a]{margin:2rem 0;padding:1.5rem 2rem;border-top:4px solid var(--emdash-pullquote-border, #0073aa);border-bottom:4px solid var(--emdash-pullquote-border, #0073aa);text-align:center}.emdash-pullquote__text[data-astro-cid-d5muti3a]{font-size:1.5rem;font-style:italic;line-height:1.4;color:var(--emdash-pullquote-color, #333);margin:0}.emdash-pullquote__citation[data-astro-cid-d5muti3a]{margin-top:1rem;font-size:.9rem;font-style:normal;color:var(--emdash-pullquote-citation-color, #666)}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-mono:"JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-xs:calc(var(--radius) * .4);--radius-sm:calc(var(--radius) * .6);--radius-md:calc(var(--radius) * .8);--radius-xl:calc(var(--radius) * 1.4);--radius-2xl:calc(var(--radius) * 1.8);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Inter Variable", sans-serif;--default-mono-font-family:"JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-heading:"Epilogue Variable", sans-serif;--color-brand:var(--brand)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}a,button,select,summary,[role=button],input[type=button],input[type=submit],input[type=reset],input[type=image]{cursor:pointer}a:disabled,button:disabled,input:disabled,select:disabled,textarea:disabled,[disabled],[aria-disabled=true]{cursor:not-allowed}html,body{overscroll-behavior-y:none}body{background-color:var(--background);color:var(--foreground)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter Variable,sans-serif}h1{font-family:var(--font-heading);font-weight:var(--fw-medium);letter-spacing:var(--tracking-tight);line-height:1.05}h2{font-family:var(--font-heading);font-weight:var(--fw-medium);letter-spacing:var(--tracking-snug);line-height:1.2}h3{font-family:var(--font-heading);font-weight:var(--fw-medium);letter-spacing:var(--tracking-normal);line-height:1.35}h4,h5,h6{font-family:var(--font-heading);font-weight:var(--fw-medium);letter-spacing:var(--tracking-normal)}p{font-feature-settings:"kern" 1,"liga" 1}a{color:inherit;text-decoration:none}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-1{top:var(--spacing)}.top-4{top:calc(var(--spacing) * 4)}.right-4{right:calc(var(--spacing) * 4)}.left-1{left:var(--spacing)}.isolate{isolation:isolate}.z-10{z-index:10}.z-\[120\]{z-index:120}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-\[34px\]{height:34px}.h-auto{height:auto}.h-full{height:100%}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-\[36px\]{min-height:36px}.min-h-screen{min-height:100vh}.w-6{width:calc(var(--spacing) * 6)}.w-\[150px\]{width:150px}.w-\[200px\]{width:200px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\[180px\]{max-width:180px}.max-w-\[1100px\]{max-width:1100px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-20{gap:calc(var(--spacing) * 20)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded-2xl{border-radius:calc(var(--radius) * 1.8)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-xl{border-radius:calc(var(--radius) * 1.4)}.border{border-style:var(--tw-border-style);border-width:1px}.border-border{border-color:var(--border)}.bg-background{background-color:var(--background)}.bg-brand,.bg-brand\/10{background-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.bg-brand\/10{background-color:color-mix(in oklab,var(--brand) 10%,transparent)}}.bg-card{background-color:var(--card)}.bg-foreground\/40{background-color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.bg-foreground\/40{background-color:color-mix(in oklab,var(--foreground) 40%,transparent)}}.bg-secondary{background-color:var(--secondary)}.p-1{padding:var(--spacing)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-6{padding-block:calc(var(--spacing) * 6)}.pr-8{padding-right:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.font-heading{font-family:Epilogue Variable,sans-serif}.font-sans{font-family:Inter Variable,sans-serif}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-nowrap{white-space:nowrap}.text-brand{color:var(--brand)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-white{color:var(--color-white)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-border{--tw-ring-color:var(--border)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,box-shadow\]{transition-property:border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-\[350ms\]{--tw-duration:.35s;transition-duration:.35s}.ease-\[cubic-bezier\(0\.175\,0\.885\,0\.32\,1\.275\)\]{--tw-ease:cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}.outline-none{--tw-outline-style:none;outline-style:none}.paused{animation-play-state:paused}.running{animation-play-state:running}.placeholder\:text-muted-foreground\/80::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-muted-foreground\/80::placeholder{color:color-mix(in oklab,var(--muted-foreground) 80%,transparent)}}@media(hover:hover){.hover\:bg-brand\/90:hover{background-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-brand\/90:hover{background-color:color-mix(in oklab,var(--brand) 90%,transparent)}}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:text-foreground:hover{color:var(--foreground)}}.focus\:border-brand:focus{border-color:var(--brand)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-brand\/20:focus{--tw-ring-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-brand\/20:focus{--tw-ring-color:color-mix(in oklab, var(--brand) 20%, transparent)}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-70:disabled{opacity:.7}@media not all and (min-width:48rem){.max-md\:w-full{width:100%}.max-md\:flex-col{flex-direction:column}.max-md\:gap-10{gap:calc(var(--spacing) * 10)}}@media not all and (min-width:40rem){.max-sm\:grid{display:grid}.max-sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:40rem){.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-7{padding:calc(var(--spacing) * 7)}}.dark\:block:is(.dark *,[data-mode=dark] *){display:block}.dark\:hidden:is(.dark *,[data-mode=dark] *){display:none}}@font-face{font-family:Epilogue Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/blog/_astro/epilogue-vietnamese-wght-normal.CCSRnr7S.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Epilogue Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/blog/_astro/epilogue-latin-ext-wght-normal.C9jy1SL9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Epilogue Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/blog/_astro/epilogue-latin-wght-normal.BnupfK5F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/blog/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/blog/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/blog/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/blog/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/blog/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/blog/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/blog/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/blog/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/blog/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/blog/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/blog/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/blog/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media(prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}:root{--brand:#1854d8;--brand-hover:#154abe;--brand-solid:#1854d8;--brand-solid-hover:#154abe;--brand-on-solid:#fff;--brand-soft:#edf1fc;--brand-soft-foreground:#1854d8;--brand-border:#1854d838;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--border:oklch(92.2% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(50.5% .213 27.518);--ring:oklch(70.8% 0 0);--input:oklch(92.2% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--success:#10b981;--success-foreground:#047857;--success-soft:#e2f7f0;--warning:#f59e0b;--warning-foreground:#b45309;--warning-soft:#fef1dd;--danger:#f43f5e;--danger-foreground:#e11d48;--danger-soft:#fee8ec;--info:#3b82f6;--info-foreground:#1d4ed8;--info-soft:#e7f0fe;--accent-violet:#7c3aed;--accent-violet-foreground:#6d28d9;--accent-violet-soft:#7c3aed1f;--brand-gradient:linear-gradient(145deg, #93c5fd 0%, #1854d8 52%, #1e3a8a 100%);--neutral-100:oklch(97% 0 0);--neutral-200:oklch(92.2% 0 0);--neutral-300:oklch(87% 0 0);--neutral-600:oklch(55.6% 0 0);--neutral-800:oklch(26.9% 0 0);--neutral-900:oklch(20.5% 0 0);--surface-glass:#fffc;--surface-glass-border:var(--neutral-100);--surface-overlay:#0f172a73;--rule-dashed:oklch(87% 0 0);--hatch-stroke:oklch(92.2% 0 0/.9);--radius:.625rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--text-display:clamp(2.25rem, 5vw, 3rem);--text-h1:clamp(1.875rem, 4vw, 2.5rem);--text-h2:clamp(1.75rem, 3vw, 2.25rem);--text-h3:1.5rem;--text-h4:1.125rem;--text-h5:1rem;--text-h6:.9375rem;--text-doc-h1:2.125rem;--text-doc-h2:1.25rem;--text-doc-h3:1.0625rem;--tracking-display:-.05em;--tracking-tight:-.03em;--tracking-snug:-.02em;--tracking-normal:-.01em;--tracking-wide:.04em;--header-h:4rem;--header-offset:1rem;--page-top:9rem;--content-max:1100px;--shell-max:960px;--narrow-max:48rem;--reading-max:42rem;--reading-max-wide:52rem;--lede-max:32rem;--sticky-top:6rem;--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}:root.dark,:root[data-mode=dark]{--brand:#1854d8;--brand-hover:#3469dd;--brand-solid:#1854d8;--brand-solid-hover:#3469dd;--brand-on-solid:#fff;--brand-soft:#1854d833;--brand-soft-foreground:#1854d8;--brand-border:#1854d83d;--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--border:oklch(100% 0 0/.1);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(80.9% .105 19.571);--ring:oklch(55.6% 0 0);--input:oklch(100% 0 0/.15);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--success:#34d399;--success-foreground:#6ee7b7;--success-soft:#34d3992e;--warning:#fbbf24;--warning-foreground:#fcd34d;--warning-soft:#fbbf242e;--danger:#fb7185;--danger-foreground:#fda4af;--danger-soft:#fb71852e;--info:#60a5fa;--info-foreground:#93c5fd;--info-soft:#60a5fa2e;--accent-violet:#a78bfa;--accent-violet-foreground:#c4b5fd;--accent-violet-soft:#a78bfa29;--brand-gradient:linear-gradient(145deg, #3b82f6 0%, #1d4ed8 55%, #172554 100%);--neutral-100:oklch(26.9% 0 0);--neutral-200:oklch(37.1% 0 0);--neutral-300:oklch(43.9% 0 0);--neutral-600:oklch(70.8% 0 0);--neutral-800:oklch(92.2% 0 0);--neutral-900:oklch(98.5% 0 0);--surface-glass:#000000b3;--surface-glass-border:#ffffff26;--surface-overlay:#0009;--rule-dashed:oklch(37.1% 0 0);--hatch-stroke:oklch(37.1% 0 0/.8);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}.section-label{font-size:1.125rem;font-weight:var(--fw-semibold);letter-spacing:-.02em;color:var(--color-brand);align-items:center;gap:.5rem;margin:0;line-height:1.25rem;display:inline-flex}.section-label-accent{background:var(--color-brand);border-radius:0 2px 2px 0;flex-shrink:0;width:3px;height:1.25rem}.section-label-text{line-height:1.25rem;display:block;transform:translateY(.06em)}.tp-btn{border-radius:var(--radius-md);font-family:inherit;font-size:.875rem;font-weight:var(--fw-semibold);white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;line-height:1;text-decoration:none;transition:background .12s ease-in-out,border-color .12s ease-in-out,color .12s ease-in-out;display:inline-flex}.tp-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.tp-btn:disabled,.tp-btn[aria-disabled=true]{opacity:.6;cursor:not-allowed}.tp-btn--sm{min-height:2.25rem;padding:.5rem .75rem;font-size:.8125rem}.tp-btn--md{min-height:2.5rem;padding:.5rem .75rem}.tp-btn--primary{background:var(--brand-solid);color:var(--brand-on-solid);box-shadow:0 1px 2px #0f172a0d}.tp-btn--primary:hover{background:var(--brand-solid-hover)}.tp-btn--secondary{background:var(--card);border-color:var(--border);color:var(--foreground);box-shadow:0 1px 2px #0f172a0a}.tp-btn--secondary:hover{background:var(--muted)}.tp-btn--ghost{border-color:var(--border);color:var(--foreground);background:0 0}.tp-btn--ghost:hover{background:var(--muted);border-color:var(--brand-border);color:var(--brand)}.tp-btn--quiet{color:var(--foreground);box-shadow:none;background:0 0;border-color:#0000}.tp-btn--quiet:hover{background:0 0}@media(max-width:639px){.tp-btn--quiet{border-color:var(--border)}}.tp-btn-icon{flex-shrink:0;display:inline-flex}@media(prefers-reduced-motion:reduce){.tp-btn{transition:none}}.tp-surface-badge,.site-header-badge,.docs-header-badge{border:1px solid var(--brand-border);border-radius:var(--radius-xs);background:var(--brand-soft);color:var(--brand);font-size:.6875rem;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wide);text-transform:uppercase;white-space:nowrap;flex-shrink:0;align-items:center;margin-left:.5rem;padding:.125rem .4rem;line-height:1.4;display:inline-flex}.tp-chip{background:var(--muted);border-radius:999px;justify-content:center;align-items:center;height:1.375rem;padding:0 .5rem;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.tp-chip{background:color-mix(in oklch,var(--muted) 88%,transparent)}}.tp-chip{color:var(--muted-foreground);font-size:.6875rem;font-weight:var(--fw-medium);white-space:nowrap;line-height:1}.tp-chip--fixed{min-width:4.25rem}.tp-chip--wide{min-width:5.25rem}.tp-chip--brand{background:var(--brand-soft);color:var(--brand)}.tp-chip--success{background:var(--success-soft);color:var(--success-foreground)}.tp-chip--warning{background:var(--warning-soft);color:var(--warning-foreground)}.tp-chip--danger{background:var(--danger-soft);color:var(--danger-foreground)}.tp-chip--violet{background:var(--accent-violet-soft);color:var(--accent-violet-foreground)}.tp-chip--muted{opacity:.85}:root{--expo-out:linear(0 0%, .1684 2.66%, .3165 5.49%, .446 8.52%, .5581 11.78%, .6535 15.29%, .7341 19.11%, .8011 23.3%, .8557 27.93%, .8962 32.68%, .9283 38.01%, .9529 44.08%, .9711 51.14%, .9833 59.06%, .9915 68.74%, 1 100%)}::view-transition-group(root){animation-timing-function:var(--expo-out)}::view-transition-new(root){animation:.9s both vt-scale;-webkit-mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><filter id="blur"><feGaussianBlur stdDeviation="2"/></filter></defs><circle cx="20" cy="20" r="18" fill="white" filter="url('%23blur')"/></svg>') 50%/0 no-repeat;mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><filter id="blur"><feGaussianBlur stdDeviation="2"/></filter></defs><circle cx="20" cy="20" r="18" fill="white" filter="url('%23blur')"/></svg>') 50%/0 no-repeat}::view-transition-old(root){z-index:-1;animation:none}.dark::view-transition-old(root){z-index:-1;animation:none}.dark::view-transition-new(root){animation:.9s both vt-scale}@keyframes vt-scale{to{-webkit-mask-size:200vmax;mask-size:200vmax}}@keyframes slide-down-fade{0%{opacity:0;transform:translateY(-26px)}to{opacity:1;transform:translateY(0)}}.site-header{z-index:50;border-radius:var(--radius-md);will-change:transform;inset-inline:.75rem;background:0 0;border:1px solid #0000;justify-content:center;width:auto;max-width:72rem;height:4rem;margin-inline:auto;padding:.75rem;transition:all .3s cubic-bezier(.16,1,.3,1.03);animation:ease-in-out slide-down-fade;display:flex;position:fixed;top:1rem;overflow:hidden;transform:translateZ(0)}.site-header.is-scrolled,.site-header.is-mobile-open{border-color:var(--surface-glass-border);background:var(--surface-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);max-width:48rem;box-shadow:0 20px 25px -5px #0000000d,0 8px 10px -6px #0000000d}.site-header.is-mobile-open{height:13rem}.site-header-inner{width:100%}@media(min-width:768px){.site-header-inner{margin-block:auto}}.site-header-row{justify-content:space-between;align-items:center;display:flex;position:relative}.site-header-brand{align-items:center;display:inline-flex}.site-header-logo{width:7rem;height:auto}@media(min-width:768px){.site-header-logo{width:8rem}}.site-header-nav-desktop{display:none}@media(min-width:768px){.site-header-nav-desktop{display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}.site-header-nav-links{font-weight:var(--fw-medium);align-items:center;gap:2.5rem;display:flex}.site-header-link{color:var(--foreground);padding:.25rem .5rem;font-size:.875rem;line-height:1;transition:color .16s}.site-header-link:hover{color:var(--foreground)}.site-header-cta-desktop{display:none}@media(min-width:768px){.site-header-cta-desktop{display:inline-flex}}.site-header-mobile-actions{align-items:center;gap:.5rem;display:flex}@media(min-width:768px){.site-header-mobile-actions{display:none}}.site-header-cta-mobile{display:inline-flex}@media(min-width:768px){.site-header-cta-mobile{display:none}}.site-header-menu-toggle{aspect-ratio:1;border-radius:var(--radius-sm);background:var(--neutral-100);color:var(--foreground);box-shadow:none;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;padding:.5rem;transition:background .1s ease-in-out;display:inline-flex}.site-header-menu-toggle:hover{background:var(--neutral-200)}@supports (color:color-mix(in lab,red,red)){.site-header-menu-toggle:hover{background:color-mix(in oklch,var(--neutral-200) 70%,transparent)}}.site-header-menu-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.site-header-icon{flex-shrink:0}.site-header-nav-mobile{will-change:transform;margin-block:1.5rem;font-size:1.125rem;transition:all ease-in-out}.site-header-mobile-list{font-weight:var(--fw-medium);flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.site-header-mobile-link,.site-header-mobile-link:hover{color:var(--foreground)}@media(min-width:768px){.site-header-nav-mobile{display:none!important}}@media(prefers-reduced-motion:reduce){.site-header{transition:none;animation:none}}.site-footer{z-index:3;isolation:isolate;background:var(--background);padding-top:1rem;padding-bottom:0;position:relative}.site-footer-inner,.site-footer-content{position:relative;overflow:visible}.site-footer-content:before,.site-footer-content:after{content:"";pointer-events:none;width:0;position:absolute;top:-5rem;bottom:0;-webkit-mask-image:linear-gradient(#0000,#000 5rem,#000);mask-image:linear-gradient(#0000,#000 5rem,#000)}.site-footer-content:before{border-left:1px dashed var(--rule-dashed);left:0}.site-footer-content:after{border-right:1px dashed var(--rule-dashed);right:0}.site-footer-dash{border-color:var(--rule-dashed)}.site-footer-rail{position:relative;overflow:visible}.site-footer-hatch{border-block:1px dashed var(--rule-dashed);height:5rem;margin-block-end:2.5rem;overflow:hidden}.site-footer-hatch-svg{width:100%;height:100%;display:block}.site-footer-hatch path{stroke:var(--hatch-stroke);stroke-width:1px;fill:none}.site-footer-main{padding:3.5rem 2rem;position:relative}@media(min-width:640px){.site-footer-main{padding-inline:2.5rem}}.site-footer-bar-block{--site-footer-bar-padding:2rem;padding-inline:var(--site-footer-bar-padding)}@media(min-width:640px){.site-footer-bar-block{--site-footer-bar-padding:2.5rem}}.site-footer-bar-grid{border-top:1px dashed var(--rule-dashed);grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:1.25rem 1.5rem;padding-block:1rem;display:grid}@media(max-width:767px){.site-footer-bar-grid{grid-template-columns:1fr}}.site-footer-wordmark-wrap{grid-column:1/-1;width:100%;margin-top:1.25rem;margin-bottom:0;overflow:visible}@media(min-width:768px){.site-footer-wordmark-wrap{margin-top:2rem}}.site-footer-pixel-wordmark{cursor:default;-webkit-user-select:none;user-select:none;height:100%;position:relative}.site-footer-pixel-wordmark canvas{width:100%;height:100%;display:block}.site-footer-pixel-wordmark canvas.site-footer-pixel-static{z-index:0;position:relative}.site-footer-pixel-wordmark canvas.site-footer-pixel-gl{z-index:1;position:absolute;inset:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.blog-main{min-height:50vh;overflow-x:clip}.blog-page{padding:8.5rem 0 6rem;background:var(--background)}.blog-shell{width:min(var(--content-max),100%);margin-inline:auto;padding-inline:1.5rem;box-sizing:border-box}.blog-shell--narrow{width:min(var(--content-max),100%);max-width:var(--reading-max)}.blog-page-header{max-width:var(--reading-max);margin:0;padding-bottom:2.5rem;border-bottom:1px solid var(--border)}.blog-page-header--center{margin-inline:auto;padding-bottom:0;border-bottom:0;text-align:center}.blog-page-eyebrow{margin:0 0 1rem}.blog-page-title{margin:0;font-family:var(--font-heading);font-size:clamp(2.5rem,5.5vw,3.75rem);font-weight:var(--fw-semibold);letter-spacing:-.04em;line-height:1.04;color:var(--foreground)}.blog-page-lede{margin:1.1rem 0 0;font-size:1.125rem;line-height:1.65;color:var(--muted-foreground);text-wrap:balance}.blog-page-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.75rem}.blog-page-header--center .blog-page-actions{justify-content:center}.blog-masthead{padding-bottom:0;border-bottom:1px solid var(--border)}.blog-masthead-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem 3rem}.blog-masthead-title{margin:0;font-family:var(--font-heading);font-size:clamp(2.5rem,5.5vw,3.75rem);font-weight:var(--fw-semibold);letter-spacing:-.04em;line-height:1.04;color:var(--foreground);text-wrap:balance}.blog-masthead-lede{margin:1.1rem 0 0;max-width:36rem;font-size:1.125rem;line-height:1.65;color:var(--muted-foreground);text-wrap:balance}.blog-tabs{display:flex;flex-wrap:wrap;gap:.25rem 1.75rem;margin-top:2.25rem}.blog-tab{position:relative;display:inline-flex;align-items:center;padding:.35rem 0 .9rem;font-size:.9rem;font-weight:var(--fw-semibold);color:var(--muted-foreground);text-decoration:none;transition:color .15s ease}.blog-tab:hover{color:var(--foreground)}.blog-tab[aria-current=page]{color:var(--foreground);font-weight:var(--fw-semibold)}.blog-tab[aria-current=page]:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--color-brand, var(--brand))}.blog-tab:focus-visible{outline:2px solid var(--color-brand, var(--brand));outline-offset:-4px;border-radius:var(--radius-xs)}.blog-search-form{display:flex;flex-wrap:wrap;gap:.6rem;max-width:26rem}.blog-masthead .blog-search-form{margin-bottom:.5rem}.blog-search-input{flex:1;min-width:12rem;min-height:2.65rem;padding:.55rem .95rem;border:1px solid var(--border);border-radius:999px;background:var(--background);color:var(--foreground);font:inherit;font-size:.95rem;box-shadow:0 1px color-mix(in srgb,var(--border) 50%,transparent)}.blog-search-input:focus{outline:none;border-color:var(--color-brand, var(--brand));box-shadow:0 0 0 3px color-mix(in srgb,var(--color-brand, var(--brand)) 18%,transparent)}.blog-search-submit{display:inline-flex;align-items:center;justify-content:center;min-height:2.65rem;padding:.55rem 1.25rem;border:1px solid transparent;border-radius:999px;font:inherit;font-size:.9rem;font-weight:var(--fw-semibold);color:var(--brand-on-solid);background:var(--color-brand, var(--brand));cursor:pointer;transition:filter .15s ease}.blog-search-submit:hover{filter:brightness(1.06)}.blog-search-submit:focus-visible{outline:2px solid var(--color-brand, var(--brand));outline-offset:2px}.blog-search-summary{margin:1.75rem 0 0;padding-bottom:.75rem;font-size:.9rem;color:var(--muted-foreground)}.blog-search-hit{display:block;padding:1.25rem 0;border-top:1px solid var(--border);text-decoration:none;color:inherit}.blog-search-hit h2{margin:0 0 .4rem;font-family:var(--font-heading);font-size:1.15rem;font-weight:var(--fw-semibold);letter-spacing:-.02em;transition:color .15s ease}.blog-search-hit:hover h2{color:var(--color-brand, var(--brand))}.blog-search-hit p{margin:0;font-size:.925rem;line-height:1.55;color:var(--muted-foreground)}.blog-search-hit mark{padding:0 .1em;border-radius:var(--radius-xs);background:color-mix(in srgb,var(--color-brand, var(--brand)) 28%,transparent);color:var(--foreground)}.blog-page-header--center .blog-search-form{margin-inline:auto;margin-top:1.35rem}.blog-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.5rem;padding:.55rem 1.1rem;border-radius:999px;font-size:.9rem;font-weight:var(--fw-semibold);text-decoration:none;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}.blog-btn--primary{color:var(--brand-on-solid);background:var(--color-brand, var(--brand));border:1px solid transparent}.blog-btn--primary:hover{filter:brightness(1.06)}.blog-btn--primary:focus-visible{outline:2px solid var(--color-brand, var(--brand));outline-offset:2px}.blog-btn--ghost{color:var(--foreground);background:transparent;border:1px solid var(--border)}.blog-btn--ghost:hover{background:var(--muted);border-color:color-mix(in srgb,var(--border) 60%,var(--foreground))}.blog-btn--ghost:focus-visible{outline:2px solid var(--color-brand, var(--brand));outline-offset:2px}.blog-tags{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem}.blog-tag{display:inline-flex;align-items:center;padding:0;border-radius:0;font-size:.75rem;font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;line-height:1.4;color:var(--muted-foreground);background:transparent;text-decoration:none;transition:color .15s ease}.blog-tag:hover{color:var(--color-brand, var(--brand))}.blog-tag:focus-visible{outline:2px solid var(--color-brand, var(--brand));outline-offset:3px}.dark .blog-tag:hover{color:var(--brand)}.blog-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;font-size:.8125rem;color:var(--muted-foreground)}.blog-meta time,.blog-meta span{white-space:nowrap}.blog-meta-dot{width:.2rem;height:.2rem;border-radius:999px;background:color-mix(in srgb,var(--muted-foreground) 55%,transparent)}.blog-featured{position:relative;display:block;padding:2.5rem 0 2.75rem;border-bottom:1px solid var(--border)}.blog-featured-media{display:block;overflow:hidden;border-radius:var(--radius-xl);background:var(--muted);text-decoration:none}.blog-featured-media img{display:block;width:100%;height:auto;aspect-ratio:21 / 9;object-fit:cover}@media(max-width:639px){.blog-featured-media img{aspect-ratio:16 / 10}}.blog-featured-body{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;align-items:start;padding-top:1.75rem}@media(min-width:900px){.blog-featured-body{grid-template-columns:minmax(0,7fr) minmax(0,3fr);gap:3rem}}.blog-featured-headline{min-width:0}.blog-featured-label{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.75rem;font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-brand, var(--brand))}.blog-featured-label:before{content:"";width:1.5rem;height:1px;background:currentColor}.blog-featured-title{margin:0;font-family:var(--font-heading);font-size:clamp(1.85rem,3.6vw,2.75rem);font-weight:var(--fw-semibold);letter-spacing:-.035em;line-height:1.12;text-wrap:balance}.blog-featured-title a{color:inherit;text-decoration:none;transition:color .15s ease}.blog-featured-title a:hover{color:var(--color-brand, var(--brand))}.blog-featured-excerpt{margin:1.1rem 0 0;font-size:1.125rem;line-height:1.65;color:var(--muted-foreground);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-featured-side{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;padding-top:.35rem}@media(min-width:900px){.blog-featured-side{border-left:1px solid var(--border);padding-left:2rem}}.blog-featured-meta{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.blog-featured-cta{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;font-weight:var(--fw-semibold);color:var(--color-brand, var(--brand));text-decoration:none}.blog-featured-cta .cta-arrow{transition:transform .18s cubic-bezier(.22,1,.36,1)}.blog-featured-cta:hover .cta-arrow{transform:translate(3px)}.blog-featured-title a,.blog-featured-media,.blog-featured-cta{position:relative;z-index:2}.blog-grid-section{padding-top:.5rem}.blog-list-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:2.25rem 0 1.5rem}.blog-list-title{margin:0;font-family:var(--font-heading);font-size:.8rem;font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.blog-list-count{font-size:.8125rem;color:var(--muted-foreground)}.blog-grid{display:grid;gap:1.25rem;grid-template-columns:1fr;max-width:100%}@media(min-width:640px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem}}@media(min-width:1024px){.blog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}}.blog-grid--two{grid-template-columns:1fr}@media(min-width:768px){.blog-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}}.blog-card{position:relative;display:flex;flex-direction:column;height:100%;min-width:0;border:1px solid var(--border);border-radius:var(--radius-2xl);overflow:hidden;box-sizing:border-box;background:var(--card, var(--background));transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.blog-card:hover{border-color:color-mix(in srgb,var(--border) 45%,var(--color-brand, var(--brand)));box-shadow:0 16px 36px -28px #00000059;transform:translateY(-2px)}.blog-card:focus-within{border-color:color-mix(in srgb,var(--color-brand, var(--brand)) 55%,var(--border))}.blog-card-media{position:relative;z-index:2;display:block;aspect-ratio:16 / 10;background:linear-gradient(145deg,color-mix(in srgb,var(--muted) 80%,var(--color-brand, var(--brand)) 8%),var(--muted));overflow:hidden;text-decoration:none}.blog-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.22,1,.36,1)}.blog-card:hover .blog-card-media img{transform:scale(1.04)}.blog-card-body{position:relative;z-index:2;display:flex;flex-direction:column;flex:1;gap:.65rem;padding:1.15rem 1.2rem 1.3rem}.blog-card-category{margin:0;font-size:.72rem;font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;line-height:1.4;color:var(--color-brand, var(--brand))}.blog-card-category a{color:inherit;text-decoration:none}.blog-card-category a:hover{text-decoration:underline;text-underline-offset:.14em}.blog-card-title{margin:0;font-family:var(--font-heading);font-size:1.1rem;font-weight:var(--fw-semibold);letter-spacing:-.02em;line-height:1.3}.blog-card-title a{color:inherit;text-decoration:none}.blog-card-title a:hover{color:var(--color-brand, var(--brand))}.blog-card-excerpt{margin:0;flex:1;font-size:.925rem;line-height:1.55;color:var(--muted-foreground);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-card-footer{display:flex;align-items:center;gap:.5rem;margin-top:.25rem;padding-top:.85rem;border-top:1px solid var(--border);font-size:.8125rem;color:var(--muted-foreground)}.blog-card-footer time{white-space:nowrap}.blog-card-dot{width:.2rem;height:.2rem;border-radius:999px;background:color-mix(in srgb,var(--muted-foreground) 55%,transparent)}.blog-card-link{position:static;color:inherit;text-decoration:none;font-size:1rem}.blog-card-link:after{content:"";position:absolute;inset:0;z-index:1}.blog-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.blog-section-title{margin:0;font-family:var(--font-heading);font-size:.8rem;font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground)}.blog-empty{margin:2.5rem 0 0;padding:3rem 1.5rem;text-align:center;border:1px dashed var(--border);border-radius:var(--radius-xl);color:var(--muted-foreground);font-size:1rem}.blog-article{padding:var(--page-top) 0 4rem;overflow-x:clip}.blog-article-header{width:min(var(--content-max),100%);max-width:var(--reading-max);margin:0 auto 2.25rem;padding-inline:1.5rem;box-sizing:border-box}.blog-article-back{display:inline-flex;align-items:center;gap:.35rem;margin:0 0 1.5rem;font-size:.875rem;font-weight:var(--fw-medium);color:var(--muted-foreground);text-decoration:none;transition:color .15s ease}.blog-article-back:hover{color:var(--foreground)}.blog-article-tags{margin-bottom:1.1rem}.blog-article-title{margin:0;font-family:var(--font-heading);font-size:clamp(2.15rem,4.5vw,3rem);font-weight:var(--fw-semibold);letter-spacing:-.035em;line-height:1.1;color:var(--foreground);text-wrap:balance}.blog-article-excerpt{margin:1.15rem 0 0;font-size:1.2rem;line-height:1.55;color:var(--muted-foreground);text-wrap:balance}.blog-article-meta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-top:1.75rem;padding:1rem 0;border-block:1px solid var(--border)}.blog-article-hero{width:min(var(--content-max),100%);margin:0 auto 2.75rem;padding-inline:1.5rem;box-sizing:border-box;border:0;background:transparent;box-shadow:none}.blog-article-hero>img,.blog-article-hero>figcaption{display:block;width:100%}.blog-article-hero>img{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--muted)}.blog-article-hero img{height:auto;aspect-ratio:21 / 9;object-fit:cover}.blog-article-hero figcaption{margin-top:.55rem;padding:0 .15rem;font-size:.8rem;color:var(--muted-foreground)}.blog-prose{width:min(var(--content-max),100%);max-width:var(--reading-max);margin-inline:auto;padding-inline:1.5rem;box-sizing:border-box;font-size:1.0625rem;line-height:1.8;color:color-mix(in srgb,var(--foreground) 90%,var(--muted-foreground))}.blog-prose :where(h2,h3,h4){font-family:var(--font-heading);color:var(--foreground);letter-spacing:-.025em;line-height:1.25;scroll-margin-top:6rem}.blog-prose :where(h2){margin:2.75rem 0 .9rem;font-size:1.45rem;font-weight:var(--fw-semibold)}.blog-prose :where(h3){margin:2.1rem 0 .7rem;font-size:1.2rem;font-weight:var(--fw-semibold)}.blog-prose :where(p){margin:0 0 1.25rem}.blog-prose :where(a){color:var(--color-brand, var(--brand));text-decoration:underline;text-underline-offset:.14em;text-decoration-thickness:1px}.blog-prose :where(a:hover){text-decoration-thickness:2px}.blog-prose :where(ul,ol){margin:0 0 1.25rem;padding-left:1.35rem}.blog-prose :where(li){margin:.35rem 0}.blog-prose :where(li>p){margin:0}.blog-prose :where(blockquote){margin:1.75rem 0;padding:.15rem 0 .15rem 1.1rem;border-left:3px solid color-mix(in srgb,var(--color-brand, var(--brand)) 55%,var(--border));color:var(--muted-foreground);font-style:italic}.blog-prose :where(pre){margin:1.5rem 0;padding:1rem 1.1rem;overflow-x:auto;border-radius:var(--radius-xl);border:1px solid var(--border);background:color-mix(in srgb,var(--muted) 65%,var(--background));font-size:.875rem;line-height:1.6}.blog-prose :where(code){font-family:var(--font-mono);font-size:.9em}.blog-prose :where(:not(pre)>code){padding:.12em .35em;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--muted) 80%,transparent)}.blog-prose :where(img){display:block;max-width:100%;height:auto;margin:1.75rem auto;border-radius:var(--radius-xl);border:1px solid var(--border)}.blog-prose :where(hr){margin:2.5rem 0;border:0;border-top:1px solid var(--border)}.blog-prose :where(figure){margin:1.75rem 0}.blog-prose :where(figcaption){margin-top:.5rem;font-size:.85rem;color:var(--muted-foreground);text-align:center}.blog-prose img[src*="/_image"]{min-height:8rem;background:var(--muted)}.blog-prose img[src*="/_emdash/api/media/"]{background:transparent}.blog-comments{width:min(var(--content-max),100%);max-width:var(--reading-max);margin:3rem auto 0;padding:2rem 1.5rem 0;box-sizing:border-box;border-top:1px solid var(--border)}.blog-comments-title{margin:0 0 1rem;font-family:var(--font-heading);font-size:1.15rem;font-weight:var(--fw-semibold);letter-spacing:-.02em}.blog-comments-form{margin-top:1.5rem}.blog-more{margin-top:4rem;padding:3rem 0 4rem;border-top:1px solid var(--border);background:color-mix(in srgb,var(--muted) 28%,var(--background));overflow-x:clip}.blog-more-inner{width:min(var(--content-max),100%);margin-inline:auto;padding-inline:1.5rem;box-sizing:border-box}.blog-more-inner .blog-list-header{padding-top:0}.blog-cta{border-top:1px solid var(--border);background:radial-gradient(120% 140% at 85% 10%,color-mix(in srgb,var(--color-brand, var(--brand)) 10%,transparent),transparent 60%),color-mix(in srgb,var(--muted) 40%,var(--background))}.blog-cta-inner{width:min(var(--content-max),100%);margin-inline:auto;padding:4rem 1.5rem;box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2rem 3rem}.blog-cta-copy{min-width:0;max-width:38rem}.blog-cta-kicker{margin:0 0 .9rem;font-size:.75rem;font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--color-brand, var(--brand))}.blog-cta-title{margin:0;font-family:var(--font-heading);font-size:clamp(1.6rem,3vw,2.25rem);font-weight:var(--fw-semibold);letter-spacing:-.03em;line-height:1.15;color:var(--foreground);text-wrap:balance}.blog-cta-text{margin:.9rem 0 0;font-size:1rem;line-height:1.65;color:var(--muted-foreground)}.blog-cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.blog-cta-btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.65rem 1.4rem;border-radius:999px;font-size:.95rem;font-weight:var(--fw-semibold);text-decoration:none;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease,filter .15s ease}.blog-cta-btn--primary{color:var(--brand-on-solid);background:var(--color-brand, var(--brand));border:1px solid transparent}.blog-cta-btn--primary:hover{filter:brightness(1.06)}.blog-cta-btn--primary:focus-visible{outline:2px solid var(--color-brand, var(--brand));outline-offset:2px}.blog-cta-btn--ghost{color:var(--foreground);background:transparent;border:1px solid var(--border)}.blog-cta-btn--ghost:hover{background:var(--muted);border-color:color-mix(in srgb,var(--border) 60%,var(--foreground))}.blog-cta-btn--ghost:focus-visible{outline:2px solid var(--color-brand, var(--brand));outline-offset:2px}
