@font-face{unicode-range:U+??,U+100-24F,U+250-2AF,U+1E??,U+2000-206F,U+2070-209F,U+20A0-20CF,U+2100-214F,U+2190-21FF,U+22??,U+FB00-FB04;font-family:ryker;src:url(../media/ryker_300-s.p.2mscn0w3k80th.otf)format("opentype");font-display:swap;font-weight:300;font-style:normal}@font-face{unicode-range:U+??,U+100-24F,U+250-2AF,U+1E??,U+2000-206F,U+2070-209F,U+20A0-20CF,U+2100-214F,U+2190-21FF,U+22??,U+FB00-FB04;font-family:ryker;src:url(../media/ryker_400-s.p.0k2gf-gqnsmez.otf)format("opentype");font-display:swap;font-weight:400;font-style:normal}@font-face{unicode-range:U+??,U+100-24F,U+250-2AF,U+1E??,U+2000-206F,U+2070-209F,U+20A0-20CF,U+2100-214F,U+2190-21FF,U+22??,U+FB00-FB04;font-family:ryker;src:url(../media/ryker_500-s.p.1tvl3dl0gf30z.otf)format("opentype");font-display:swap;font-weight:500;font-style:normal}@font-face{unicode-range:U+??,U+100-24F,U+250-2AF,U+1E??,U+2000-206F,U+2070-209F,U+20A0-20CF,U+2100-214F,U+2190-21FF,U+22??,U+FB00-FB04;font-family:ryker;src:url(../media/ryker_700-s.p.0n6o9k_49631r.otf)format("opentype");font-display:swap;font-weight:700;font-style:normal}@font-face{unicode-range:U+??,U+100-24F,U+250-2AF,U+1E??,U+2000-206F,U+2070-209F,U+20A0-20CF,U+2100-214F,U+2190-21FF,U+22??,U+FB00-FB04;font-family:ryker;src:url(../media/ryker_900-s.p.2lk36tdq5fkn5.otf)format("opentype");font-display:swap;font-weight:900;font-style:normal}@font-face{font-family:ryker Fallback;src:local(Arial);ascent-override:69.89%;descent-override:21.8%;line-gap-override:0.9%;size-adjust:111.47%}.ryker_ccbb3a4d-module__dXTvTq__className{font-family:ryker,ryker Fallback,Pretendard Variable,Pretendard,system-ui,-apple-system,Segoe UI,sans-serif}.ryker_ccbb3a4d-module__dXTvTq__variable{--font-ryker:"ryker", "ryker Fallback", Pretendard Variable, Pretendard, system-ui, -apple-system, Segoe UI, sans-serif}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-outline-style:solid;--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}}}@layer theme{:root,:host{--font-sans:-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-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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;-webkit-text-decoration:inherit;-webkit-text-decoration: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}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.min-h-screen{min-height:100vh}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.text-wrap{text-wrap:wrap}.lowercase{text-transform:lowercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--vy-green-pale:#e2fff0;--vy-green-light:#95ffb8;--vy-green:#0f7;--vy-green-dark:#00b064;--vy-cyan-pale:#d2f3fa;--vy-cyan-light:#82e1f4;--vy-cyan:#00cae9;--vy-blue-pale:#cdf;--vy-blue-light:#6ca0ff;--vy-blue:#006dff;--vy-blue-dark:#0097e0;--vy-violet-pale:#e2daff;--vy-violet-light:#a78eff;--vy-violet:#5120ff;--vy-violet-dark:#7c57ff;--vy-pink-pale:#ffdfff;--vy-pink-light:#ffa5ff;--vy-pink:#fb0051;--vy-pink-dark:#fb4dc9;--vy-coral-pale:#ffdfda;--vy-coral-light:#ff9989;--vy-coral:#ff746f;--vy-yellow-pale:#fff3c1;--vy-yellow:#ffd44b;--vy-amber:#ffb600;--vy-orange:#ff8100;--background:#fafafa;--foreground:#0d0d0d;--paper:#fff;--gray:#f2f2f2;--muted:#7a7a7a;--muted-bright:#8a8a8a;--border:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:root{--border:color-mix(in srgb, var(--foreground) 10%, transparent)}}:root{--border-strong:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:root{--border-strong:color-mix(in srgb, var(--foreground) 22%, transparent)}}:root{--selection:var(--vy-violet-pale)}@supports (color:color-mix(in lab, red, red)){:root{--selection:color-mix(in srgb, var(--vy-violet-pale) 70%, var(--paper))}}:root{--overlay-soft:var(--paper)}@supports (color:color-mix(in lab, red, red)){:root{--overlay-soft:color-mix(in srgb, var(--paper) 90%, transparent)}}:root{--overlay-mid:var(--paper)}@supports (color:color-mix(in lab, red, red)){:root{--overlay-mid:color-mix(in srgb, var(--paper) 55%, transparent)}}:root{--overlay-glass:var(--paper)}@supports (color:color-mix(in lab, red, red)){:root{--overlay-glass:color-mix(in srgb, var(--paper) 35%, transparent)}}:root{--ink-soft:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:root{--ink-soft:color-mix(in srgb, var(--foreground) 82%, transparent)}}:root{--on-image:var(--paper);--on-image-muted:var(--paper)}@supports (color:color-mix(in lab, red, red)){:root{--on-image-muted:color-mix(in srgb, var(--paper) 88%, transparent)}}:root{--radius:26px;--type-lead:clamp(1.875rem, 2.6vw, 2.25rem);--type-feature:clamp(1.75rem, 2.4vw, 2.25rem);--type-side:clamp(1.375rem, 1.8vw, 1.75rem);--type-row:.9375rem;--surface-big:var(--vy-blue-pale);--surface-feature:var(--vy-green-light);--surface-side:var(--vy-cyan-pale);--surface-tut:var(--vy-coral-pale);--surface-cats:var(--vy-violet-pale);--event-feature-surface:var(--vy-cyan-pale);--event-feature-edge:var(--vy-cyan-light);--motif-a:url(/motifs/motif-a.png);--motif-b:url(/motifs/motif-b.png);--motif-c:url(/motifs/motif-c.png);--motif-d:url(/motifs/motif-d.png);--motif-e:url(/motifs/motif-e.png);--motif-f:url(/motifs/motif-f.png);--brand-mark:var(--vy-green);--chip:var(--vy-yellow-pale);--chip-hot:var(--vy-yellow);--accent-burst:var(--vy-amber);--accent-link:var(--vy-violet-dark);--text-on-feature:var(--foreground);--divider-on-feature:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:root{--divider-on-feature:color-mix(in srgb, var(--foreground) 18%, transparent)}}:root{--font-sans:var(--font-ryker), "Pretendard Variable", "Pretendard", "Apple SD Gothic Neo", "Noto Sans KR", -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}html:has(.tech-surface){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#0c0c0c;--foreground:#f5f0e6;--paper:#141414;--gray:#1b1b1b;--muted:var(--foreground)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface){--muted:color-mix(in srgb, var(--foreground) 58%, transparent)}}html:has(.tech-surface){--muted-bright:var(--foreground)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface){--muted-bright:color-mix(in srgb, var(--foreground) 68%, transparent)}}html:has(.tech-surface){--border:var(--foreground)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface){--border:color-mix(in srgb, var(--foreground) 10%, transparent)}}html:has(.tech-surface){--border-strong:var(--foreground)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface){--border-strong:color-mix(in srgb, var(--foreground) 18%, transparent)}}html:has(.tech-surface){--selection:var(--vy-green)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface){--selection:color-mix(in srgb, var(--vy-green) 28%, var(--paper))}}html:has(.tech-surface){--overlay-soft:var(--paper)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface){--overlay-soft:color-mix(in srgb, var(--paper) 90%, transparent)}}html:has(.tech-surface){--overlay-mid:var(--paper)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface){--overlay-mid:color-mix(in srgb, var(--paper) 55%, transparent)}}html:has(.tech-surface){--overlay-glass:var(--paper)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface){--overlay-glass:color-mix(in srgb, var(--paper) 35%, transparent)}}html:has(.tech-surface){--ink-soft:var(--foreground)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface){--ink-soft:color-mix(in srgb, var(--foreground) 84%, transparent)}}html:has(.tech-surface){--on-image:#fff;--on-image-muted:#ffffffe0;--vy-green-pale:var(--vy-green)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface){--vy-green-pale:color-mix(in srgb, var(--vy-green) 14%, var(--paper))}}html:has(.tech-surface){--vy-cyan-pale:var(--vy-cyan)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface){--vy-cyan-pale:color-mix(in srgb, var(--vy-cyan) 12%, var(--paper))}}html:has(.tech-surface){--vy-blue-pale:var(--vy-blue)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface){--vy-blue-pale:color-mix(in srgb, var(--vy-blue) 12%, var(--paper))}}html:has(.tech-surface){--vy-violet-pale:var(--vy-violet)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface){--vy-violet-pale:color-mix(in srgb, var(--vy-violet) 14%, var(--paper))}}html:has(.tech-surface){--vy-pink-pale:var(--vy-pink)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface){--vy-pink-pale:color-mix(in srgb, var(--vy-pink) 12%, var(--paper))}}html:has(.tech-surface){--vy-coral-pale:var(--vy-coral)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface){--vy-coral-pale:color-mix(in srgb, var(--vy-coral) 12%, var(--paper))}}html:has(.tech-surface){--vy-yellow-pale:var(--vy-yellow)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface){--vy-yellow-pale:color-mix(in srgb, var(--vy-yellow) 14%, var(--paper))}}html:has(.tech-surface){--accent-link:var(--vy-green);--chip:var(--vy-yellow)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface){--chip:color-mix(in srgb, var(--vy-yellow) 18%, var(--paper))}}html:has(.tech-surface){--chip-hot:var(--vy-yellow)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface){--chip-hot:color-mix(in srgb, var(--vy-yellow) 34%, var(--paper))}}html:has(.tech-surface) .prose{--prose-code-background:#121212}html:has(.tech-surface) .tech-page-header{border-bottom:1px solid var(--border-strong);width:100%;max-width:none;padding:8px 0 28px}html:has(.tech-surface) .tech-page-header h1{letter-spacing:-.04em;text-transform:none;font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.05}html:has(.tech-surface) .tech-page-header>p:last-child{max-width:46ch;margin-top:14px;font-size:.98rem;line-height:1.55}html:has(.tech-surface) .post-list--research{flex-direction:column;gap:0;width:100%;max-width:none;margin:0 0 96px;display:flex}html:has(.tech-surface) .post-list--research .post-list-card{border:0;border-bottom:1px solid var(--border);width:100%;max-width:none;box-shadow:none;color:inherit;background:0 0;border-radius:0;grid-column:auto;grid-template-columns:none;padding:22px 0;text-decoration:none;transition:opacity .16s;display:block}html:has(.tech-surface) .post-list--research .post-list-card:last-child{border-bottom:0}html:has(.tech-surface) .post-list--research .post-list-copy{flex-direction:column;gap:8px;width:100%;max-width:none;height:auto;min-height:0;padding:0;display:flex}html:has(.tech-surface) .post-list--research .post-list-date{color:var(--muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.01em;margin-top:4px;font-size:.8125rem;font-weight:500;line-height:1.4}.archive-page .post-list--research .post-list-copy h3{max-width:none;color:var(--foreground);letter-spacing:-.02em;text-wrap:nowrap;white-space:nowrap;word-break:normal;overflow-wrap:normal;text-overflow:ellipsis;margin:0;font-size:clamp(1.05rem,1.5vw,1.25rem);font-weight:650;line-height:1.35;transition:color .16s;overflow:hidden}html:has(.tech-surface) .post-list--research .post-list-copy h3{max-width:none;color:var(--foreground);letter-spacing:-.02em;text-wrap:nowrap;white-space:nowrap;word-break:normal;overflow-wrap:normal;text-overflow:ellipsis;margin:0;font-size:clamp(1.05rem,1.5vw,1.25rem);font-weight:650;line-height:1.35;transition:color .16s;overflow:hidden}html:has(.tech-surface) .post-list--research .post-list-excerpt{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.9375rem;font-weight:450;line-height:1.55;display:-webkit-box;overflow:hidden}:is(html:has(.tech-surface) .post-list--research .post-list-card:hover .post-list-copy h3,html:has(.tech-surface) .post-list--research .post-list-card:focus-visible .post-list-copy h3){color:#fff;opacity:1}:is(html:has(.tech-surface) .post-list--research .post-list-card:hover .post-list-date,html:has(.tech-surface) .post-list--research .post-list-card:focus-visible .post-list-date){color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){:is(html:has(.tech-surface) .post-list--research .post-list-card:hover .post-list-date,html:has(.tech-surface) .post-list--research .post-list-card:focus-visible .post-list-date){color:color-mix(in srgb, var(--foreground) 82%, transparent)}}.scramble-text{display:inline}.scramble-sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.scramble-unit{display:inline}.scramble-unit--nowrap{white-space:nowrap}.scramble-char{display:inline-block;position:relative}.scramble-char-target{visibility:hidden}.scramble-char-display{text-align:center;position:absolute;inset:0}html:has(.tech-surface) .blog-post-shell{width:min(100%, calc(var(--blog-post-reading-width) + 56px));padding-left:28px;padding-right:28px;overflow:visible}html:has(.tech-surface) .blog-post-header h1{letter-spacing:-.03em;text-wrap:wrap;overflow-wrap:normal;word-break:normal;white-space:normal;font-size:clamp(1.9rem,4vw,2.75rem);font-weight:700;line-height:1.08}html:has(.tech-surface) .blog-post-tags{color:var(--vy-green);font-family:var(--font-mono);letter-spacing:.02em;font-size:.75rem;font-weight:500}html:has(.tech-surface) .blog-post-summary{background:var(--vy-green)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface) .blog-post-summary{background:color-mix(in srgb, var(--vy-green) 18%, var(--paper))}}html:has(.tech-surface) .blog-post-summary-label{color:var(--vy-green)}html:has(.tech-surface) .blog-post-summary-list li{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface) .blog-post-summary-list li{color:color-mix(in srgb, var(--foreground) 86%, var(--vy-green))}}html:has(.tech-surface) .blog-post-summary-list li{font-family:inherit}html:has(.tech-surface) .blog-post-summary-list li:before{color:var(--vy-green);box-shadow:none;background:0 0}html:has(.tech-surface) .blog-post-cta{background:var(--vy-green);max-width:72ch;margin-left:auto;margin-right:auto}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface) .blog-post-cta{background:color-mix(in srgb, var(--vy-green) 20%, var(--paper))}}html:has(.tech-surface) .blog-post-cta{color:var(--foreground);box-shadow:none;border:0;outline:none}html:has(.tech-surface) .blog-post-cta:before{background-image:var(--motif-e);opacity:.36;mix-blend-mode:screen;background-position:100%}:is(html:has(.tech-surface) .blog-post-cta-title,html:has(.tech-surface) .blog-post-cta-description){color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface) .blog-post-cta-description{color:color-mix(in srgb, var(--foreground) 72%, transparent)}}html:has(.tech-surface) .blog-post-cta-eyebrow{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface) .blog-post-cta-eyebrow{color:color-mix(in srgb, var(--foreground) 72%, transparent)}}html:has(.tech-surface) .blog-post-cta-label{color:var(--foreground)}html:has(.tech-surface) .blog-post-cta .circle-arrow{background:var(--vy-green)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface) .blog-post-cta .circle-arrow{background:color-mix(in srgb, var(--vy-green) 22%, var(--paper))}}html:has(.tech-surface) .blog-post-cta .circle-arrow{color:var(--vy-green)}html:has(.tech-surface) .blog-post-cta-dialog-panel{border-color:var(--border-strong);background:var(--paper)}html:has(.tech-surface) .blog-post-cta-dialog-close{background:var(--gray)}html:has(.tech-surface) .blog-post-cta-input{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface) .blog-post-cta-input{border-color:color-mix(in srgb, var(--foreground) 16%, transparent)}}html:has(.tech-surface) .blog-post-cta-input{background:var(--paper)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface) .blog-post-cta-input{background:color-mix(in srgb, var(--paper) 92%, transparent)}}html:has(.tech-surface) .blog-post-cta-submit{background:var(--vy-green);color:#04140a}html:has(.tech-surface) .blog-post-cta-status[data-tone=success]{color:var(--vy-green)}html:has(.tech-surface) .blog-post-toc-list a:hover{color:var(--vy-green)}html:has(.tech-surface) .blog-post-toc-list a.is-active{color:var(--vy-green)}html:has(.tech-surface) .blog-post-toc-list a.is-active:before{background:var(--vy-green)}html:has(.tech-surface) .site-footer{border-top-color:var(--border)}html:has(.tech-surface) .btn-pill{background:var(--gray)}html:has(.tech-surface) .btn-pill:hover{background:var(--foreground);color:var(--background)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;line-height:1.4}a{color:inherit;text-decoration:none}::selection{background:var(--selection);color:var(--foreground)}.wrap{max-width:1280px;margin:0 auto;padding:0 28px}.display{letter-spacing:-.03em;text-transform:uppercase;font-weight:900;line-height:1.02}.site-nav{z-index:50;background:var(--background);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-nav{background:color-mix(in srgb, var(--background) 74%, transparent)}}.site-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.site-nav[data-menu-open=true]{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--background)}@supports (color:color-mix(in lab, red, red)){.site-nav[data-menu-open=true]{background:color-mix(in srgb, var(--background) 96%, transparent)}}.site-nav-inner{z-index:2;justify-content:space-between;align-items:center;height:72px;display:flex;position:relative}.site-nav-actions{align-items:center;gap:12px;display:flex}.site-nav-toggle{width:40px;height:40px;color:var(--foreground);cursor:pointer;background:var(--foreground);justify-content:center;align-items:center;padding:0;display:none}@supports (color:color-mix(in lab, red, red)){.site-nav-toggle{background:color-mix(in srgb, var(--foreground) 4%, transparent)}}.site-nav-toggle{border:1px solid var(--foreground)}@supports (color:color-mix(in lab, red, red)){.site-nav-toggle{border:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.site-nav-toggle{border-radius:999px;transition:color .15s,background-color .15s,border-color .15s}.site-nav-toggle:hover,.site-nav-toggle[aria-expanded=true]{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.site-nav-toggle:hover,.site-nav-toggle[aria-expanded=true]{background:color-mix(in srgb, var(--foreground) 8%, transparent)}}.site-nav-toggle:hover,.site-nav-toggle[aria-expanded=true]{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.site-nav-toggle:hover,.site-nav-toggle[aria-expanded=true]{border-color:color-mix(in srgb, var(--foreground) 16%, transparent)}}.site-nav-toggle:focus-visible{outline:2px solid var(--vy-violet);outline-offset:3px}.site-nav-toggle-icon{justify-content:center;align-items:center;display:inline-flex}.site-mobile-nav,.site-mobile-nav-backdrop{display:none}.site-brand{letter-spacing:-.04em;text-transform:uppercase;font-size:26px;font-weight:900}.site-brand b{color:var(--brand-mark);-webkit-text-stroke:1px var(--foreground)}.site-links{gap:30px;font-size:14px;font-weight:600;display:flex}.site-links a:hover{opacity:.6}.locale-switcher{align-items:center;display:inline-flex;position:relative}.locale-switcher-control{width:32px;height:32px;color:var(--muted);cursor:pointer;box-shadow:none;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s;display:inline-flex}.locale-switcher-control:hover,.locale-switcher-control:active,.locale-switcher-control[aria-expanded=true]{color:var(--foreground);background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.locale-switcher-control:hover,.locale-switcher-control:active,.locale-switcher-control[aria-expanded=true]{background:color-mix(in srgb, var(--foreground) 5%, transparent)}}.locale-switcher-control:focus-visible{outline:2px solid var(--vy-violet);outline-offset:4px}.locale-switcher-control:disabled{cursor:wait;opacity:.58}.locale-switcher-icon{flex:none}.locale-switcher-menu{z-index:60;min-width:156px;color:var(--foreground);background:var(--paper);gap:2px;padding:6px;display:grid;position:absolute;top:calc(100% + 4px);right:0}@supports (color:color-mix(in lab, red, red)){.locale-switcher-menu{background:color-mix(in srgb, var(--paper) 98%, transparent)}}.locale-switcher-menu{border:1px solid var(--muted)}@supports (color:color-mix(in lab, red, red)){.locale-switcher-menu{border:1px solid color-mix(in srgb, var(--muted) 16%, transparent)}}.locale-switcher-menu{box-shadow:0 18px 48px var(--foreground);border-radius:14px}@supports (color:color-mix(in lab, red, red)){.locale-switcher-menu{box-shadow:0 18px 48px color-mix(in srgb, var(--foreground) 14%, transparent)}}.locale-switcher-option{width:100%;min-height:36px;color:var(--foreground);justify-content:space-between;align-items:center;gap:14px;padding:8px 10px;font-size:14px;font-weight:500;line-height:1.35;display:flex}@supports (color:color-mix(in lab, red, red)){.locale-switcher-option{color:color-mix(in srgb, var(--foreground) 72%, var(--muted))}}.locale-switcher-option{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;outline:none}.locale-switcher-option-label{align-items:center;gap:9px;min-width:0;display:inline-flex}.locale-switcher-flag{object-fit:cover;width:20px;height:14px;box-shadow:0 0 0 1px var(--foreground);border-radius:2px}@supports (color:color-mix(in lab, red, red)){.locale-switcher-flag{box-shadow:0 0 0 1px color-mix(in srgb, var(--foreground) 8%, transparent)}}.locale-switcher-option:hover,.locale-switcher-option:focus-visible{color:var(--foreground);background:var(--vy-violet-pale)}@supports (color:color-mix(in lab, red, red)){.locale-switcher-option:hover,.locale-switcher-option:focus-visible{background:color-mix(in srgb, var(--vy-violet-pale) 70%, var(--paper))}}.locale-switcher-option[data-active=true]{color:var(--vy-violet);background:var(--vy-violet-pale)}@supports (color:color-mix(in lab, red, red)){.locale-switcher-option[data-active=true]{background:color-mix(in srgb, var(--vy-violet-pale) 55%, var(--paper))}}.locale-switcher-option:disabled{cursor:wait;opacity:.58}.locale-switcher-check{color:var(--vy-violet);font-size:13px;font-weight:700}.btn-pill{background:var(--gray);border-radius:40px;align-items:center;gap:10px;padding:12px 22px;font-size:14px;font-weight:700;transition:all .2s;display:inline-flex}.btn-pill:hover{background:var(--foreground);color:var(--paper)}.hero{padding:40px 0 0}.bento{--bento-row:60px;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:var(--bento-row);grid-template-areas:"big big big big big feat feat feat feat side side side""big big big big big feat feat feat feat side side side""big big big big big feat feat feat feat side side side""big big big big big feat feat feat feat side side side""big big big big big feat feat feat feat cats cats cats""big big big big big tut tut tut tut cats cats cats""big big big big big tut tut tut tut cats cats cats""big big big big big tut tut tut tut cats cats cats";gap:10px;display:grid}.bento.bento-no-tut{grid-template-areas:"big big big big big feat feat feat feat side side side""big big big big big feat feat feat feat side side side""big big big big big feat feat feat feat side side side""big big big big big feat feat feat feat side side side""big big big big big feat feat feat feat cats cats cats""big big big big big feat feat feat feat cats cats cats""big big big big big side side side side cats cats cats""big big big big big side side side side cats cats cats"}.bento>*,.home-lower>*{min-width:0}.card{border-radius:var(--radius);isolation:isolate;transition:transform .24s,box-shadow .24s,filter .24s;position:relative;overflow:hidden}a.card:hover{box-shadow:0 18px 34px var(--foreground);transform:translateY(-3px)}.card:has(a):hover{box-shadow:0 18px 34px var(--foreground);transform:translateY(-3px)}@supports (color:color-mix(in lab, red, red)){a.card:hover{box-shadow:0 18px 34px color-mix(in srgb, var(--foreground) 12%, transparent)}.card:has(a):hover{box-shadow:0 18px 34px color-mix(in srgb, var(--foreground) 12%, transparent)}}a.card.b-big:hover,a.card.b-big:active{box-shadow:none;transform:none}a.card:active{transform:translateY(1px)}a.card:focus-visible,.rowlink:focus-visible,.btn-pill:focus-visible,.site-links a:focus-visible,.section-link:focus-visible,.event-feature:focus-visible,.event-list-card:focus-visible,.post-list-card:focus-visible,.site-footer a:focus-visible{outline:3px solid var(--foreground);outline-offset:4px}a.card{color:inherit;text-decoration:none}.b-big{background:var(--background);border-radius:var(--radius);min-height:0;color:var(--on-image);grid-area:big;display:block;overflow:hidden}.stair-media{z-index:0;position:absolute;inset:0}.stair-media-frame{border-radius:inherit;background:var(--surface-big);position:absolute;inset:0;overflow:hidden}.stair-media-img{object-fit:cover;will-change:transform;transition:transform .5s;transform:scale(1)}a.card.b-big:hover .stair-media-img{transform:scale(1.05)}.card.b-big:has(a):hover .stair-media-img{transform:scale(1.05)}.b-big-shade{z-index:1;background:linear-gradient(180deg, var(--foreground) 0%, transparent 42%, var(--foreground) 100%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.b-big-shade{background:linear-gradient(180deg, color-mix(in srgb, var(--foreground) 10%, transparent) 0%, transparent 42%, color-mix(in srgb, var(--foreground) 58%, transparent) 100%)}}.b-big-shade{pointer-events:none}.b-big-copy{z-index:2;width:100%;max-width:min(100%,34rem);color:var(--on-image);pointer-events:none;background:linear-gradient(180deg, transparent 0%, var(--foreground) 48%, var(--foreground) 100%);flex-direction:column;gap:8px;padding:72px 22px 20px;display:flex;position:absolute;bottom:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.b-big-copy{background:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--foreground) 42%, transparent) 48%, color-mix(in srgb, var(--foreground) 72%, transparent) 100%)}}.b-big-copy{text-shadow:0 1px 2px var(--foreground)}@supports (color:color-mix(in lab, red, red)){.b-big-copy{text-shadow:0 1px 2px color-mix(in srgb, var(--foreground) 35%, transparent)}}.b-big-category{color:var(--on-image);margin:0}@supports (color:color-mix(in lab, red, red)){.b-big-category{color:color-mix(in srgb, var(--on-image) 86%, transparent)}}.b-big-category{letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:800;line-height:1.2}.b-big-title{color:var(--on-image);letter-spacing:-.035em;text-transform:none;text-wrap:pretty;word-break:keep-all;overflow-wrap:break-word;margin:0;font-size:clamp(1.25rem,2.1vw,1.75rem);font-weight:900;line-height:1.22}.b-big-meta{color:var(--on-image);flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}@supports (color:color-mix(in lab, red, red)){.b-big-meta{color:color-mix(in srgb, var(--on-image) 86%, transparent)}}.b-big-meta{font-size:12px;font-weight:700}.cat{font-size:13px;font-weight:700}.cat span{color:var(--muted);font-weight:600}.meta{color:var(--muted);font-size:12px;font-weight:600}.b-feat{background:var(--surface-feature);flex-direction:column;grid-area:feat;padding:20px 24px;display:flex}.b-feat:before,.b-side:before,.b-cats:before{z-index:-1;content:"";opacity:.34;pointer-events:none;background-position:50%;background-size:cover;transition:transform .5s,opacity .5s;position:absolute;inset:0}.b-feat:before{background-image:var(--motif-b)}.b-side:before{display:none}.b-cats:before{background-image:var(--motif-d);opacity:.3}.b-feat:hover:before,.b-side:hover:before,.b-cats:hover:before{opacity:.48;transform:scale(1.06)rotate(1deg)}.b-feat>*,.b-side>*,.b-cats>*{z-index:1;position:relative}.b-feat .top{justify-content:space-between;align-items:flex-start;display:flex}.b-feat-title{overflow-wrap:anywhere;letter-spacing:-.04em;text-transform:none;text-wrap:balance;margin:14px 0 10px;font-size:clamp(1.6rem,2.4vw,2.15rem);line-height:1.12}.b-feat-desc{color:var(--ink-soft);max-width:28ch;margin:0;font-size:14px;line-height:1.5}.b-feat .rows{margin-top:auto;padding-top:18px}.rowlink{border-top:0;border-bottom:1.5px solid var(--divider-on-feature);font-weight:800;font-size:var(--type-row);text-transform:none;letter-spacing:-.01em;color:var(--text-on-feature);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.rowlink:last-child{border-bottom:0}.circle-arrow{background:var(--overlay-mid);width:36px;height:36px;color:var(--foreground);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.rowlink .circle-arrow{width:28px;height:28px;font-size:.875rem}.rowlink:hover{opacity:.55}.b-side{background:var(--surface-side);height:100%;min-height:0;color:var(--on-image);grid-area:side;padding:0;display:block;position:relative;overflow:hidden}.b-side .cover{z-index:0;position:absolute;inset:0;overflow:hidden}.b-side .cover img{object-fit:cover;object-position:center}.b-side-shade{z-index:1;background:linear-gradient(180deg, var(--foreground) 0%, transparent 48%, var(--foreground) 100%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.b-side-shade{background:linear-gradient(180deg, color-mix(in srgb, var(--foreground) 18%, transparent) 0%, transparent 48%, color-mix(in srgb, var(--foreground) 12%, transparent) 100%)}}.b-side-shade{pointer-events:none}.b-side-copy{z-index:2;width:100%;color:var(--on-image);background:linear-gradient(180deg, var(--foreground) 0%, var(--foreground) 70%, transparent 100%);flex-direction:column;gap:8px;margin:0;padding:18px 18px 20px;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.b-side-copy{background:linear-gradient(180deg, color-mix(in srgb, var(--foreground) 72%, transparent) 0%, color-mix(in srgb, var(--foreground) 48%, transparent) 70%, transparent 100%)}}.b-side-copy{text-shadow:0 1px 2px var(--foreground)}@supports (color:color-mix(in lab, red, red)){.b-side-copy{text-shadow:0 1px 2px color-mix(in srgb, var(--foreground) 35%, transparent)}}.b-side .meta,.b-side-category,.b-side-category span{color:var(--on-image)}@supports (color:color-mix(in lab, red, red)){.b-side .meta,.b-side-category,.b-side-category span{color:color-mix(in srgb, var(--on-image) 86%, transparent)}}.b-side .meta,.b-side-category{margin:0}.b-side-title{overflow-wrap:anywhere;font-size:var(--type-side);color:var(--on-image);text-transform:none;text-wrap:balance;margin:0}.b-tut{background:var(--surface-tut);flex-direction:column;grid-area:tut;justify-content:space-between;height:100%;min-height:0;padding:20px;display:flex}.b-tut:after{z-index:1;background:linear-gradient(180deg, var(--vy-orange), var(--foreground));position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.b-tut:after{background:linear-gradient(180deg, color-mix(in srgb, var(--vy-orange) 12%, transparent), color-mix(in srgb, var(--foreground) 72%, transparent))}}.b-tut:after{background-image:linear-gradient(180deg, var(--vy-orange), var(--foreground)), var(--motif-e)}@supports (color:color-mix(in lab, red, red)){.b-tut:after{background-image:linear-gradient(180deg, color-mix(in srgb, var(--vy-orange) 12%, transparent), color-mix(in srgb, var(--foreground) 72%, transparent)), var(--motif-e)}}.b-tut:after{content:"";mix-blend-mode:multiply;opacity:.64;pointer-events:none;background-position:50%;background-size:cover}.b-tut .cover{position:absolute;inset:0;overflow:hidden}.b-tut .cover img{object-fit:cover}.b-tut .cat,.b-tut .foot{z-index:3;color:var(--on-image);position:relative}.b-tut .cat span{color:var(--on-image-muted)}.play{background:var(--overlay-glass);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:3;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:auto;display:flex;position:absolute;inset:0}.play:after{content:"";border-left:16px solid var(--paper);border-top:10px solid #0000;border-bottom:10px solid #0000;margin-left:4px}.b-tut .foot{margin-top:auto}.b-tut .foot h3{letter-spacing:-.03em;text-wrap:balance;word-break:keep-all;max-width:18ch;margin:0 0 8px;font-size:clamp(1.1rem,1.5vw,1.35rem);font-weight:900;line-height:1.15}.b-tut .foot .meta{color:var(--on-image-muted);font-size:12px;font-weight:700}.b-cats{background:var(--surface-cats);flex-direction:column;grid-area:cats;padding:20px;display:flex;position:relative}.home-newsletter-card{appearance:none;width:100%;color:inherit;text-align:left;cursor:pointer;border:0}.home-newsletter-card:hover{box-shadow:0 18px 34px var(--foreground);transform:translateY(-3px)}@supports (color:color-mix(in lab, red, red)){.home-newsletter-card:hover{box-shadow:0 18px 34px color-mix(in srgb, var(--foreground) 12%, transparent)}}.home-newsletter-card:active{transform:translateY(1px)}.home-newsletter-card:focus-visible{outline:3px solid var(--foreground);outline-offset:4px}.home-newsletter-copy{flex-direction:column;gap:10px;display:flex}.home-newsletter-eyebrow{color:var(--foreground);margin:0}@supports (color:color-mix(in lab, red, red)){.home-newsletter-eyebrow{color:color-mix(in srgb, var(--foreground) 72%, transparent)}}.home-newsletter-eyebrow{letter-spacing:.06em;text-transform:uppercase}.home-newsletter-title{letter-spacing:-.04em;text-wrap:balance;word-break:keep-all;max-width:14ch;margin:0;font-size:clamp(1.35rem,2vw,1.75rem);font-weight:900;line-height:1.08}.home-newsletter-description{max-width:30ch;color:var(--ink-soft);text-wrap:pretty;word-break:keep-all;margin:0;font-size:.875rem;line-height:1.5}.home-newsletter-action{justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:18px;display:flex}.home-newsletter-action b{font-size:1rem;font-weight:800}.home-newsletter-arrow{border:2px solid var(--foreground);background:var(--accent-burst);border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;transition:transform .18s,background-color .18s;display:flex}.home-newsletter-card:hover .home-newsletter-arrow{background:var(--vy-pink-light);transform:rotate(8deg)scale(1.06)}.home-lower{width:min(100% - 56px,1224px);margin:32px auto 0}.lower-section{padding:76px 0 0}#posts,#events{scroll-margin-top:5.5rem}.lower-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.section-kicker{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800}.section-title{letter-spacing:-.05em;margin:0;font-size:clamp(2rem,4vw,3.7rem)}.lower-posts .section-title,.lower-events .section-title{font-size:clamp(1.5rem,2.8vw,2.5rem)}.tech-page{padding-top:56px}.tech-page-header{width:100%;max-width:none;padding:12px 0}:where(.tech-page-header) .blog-post-back{margin-bottom:64px}.tech-page-header h1{letter-spacing:-.03em;text-transform:none;margin:0;font-size:clamp(1.75rem,3vw,2.25rem);line-height:1.2}.tech-page-header>p:last-child{max-width:48ch;color:var(--muted);margin:12px 0 0;font-size:clamp(.95rem,1.4vw,1.05rem);line-height:1.5}.tech-page .post-list--research,.post-list--research{flex-direction:column;gap:0;width:100%;max-width:none;margin-top:8px;display:flex}.post-list--research .post-list-card{grid-column:auto;grid-template-columns:none;width:100%;max-width:none;display:block}.post-list--research .post-list-copy{width:100%;max-width:none;height:auto}.archive-page .post-list:not(.post-list--rows):not(.post-list--research) .post-list-copy h3{letter-spacing:-.04em;text-wrap:wrap;word-break:normal;overflow-wrap:normal;max-width:none;margin:0;font-size:clamp(1.35rem,1.8vw,1.7rem);font-weight:900;line-height:1.15;transition:opacity .18s}.archive-page .post-list:not(.post-list--rows) .post-list-art img{object-fit:cover;mix-blend-mode:normal;opacity:1;will-change:transform;transition:transform .5s;transform:scale(1)}.section-link{border-bottom:1px solid var(--foreground);white-space:nowrap;align-items:center;gap:8px;padding-bottom:5px;font-size:13px;font-weight:800;display:inline-flex}.section-link:hover{opacity:.55}.post-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px;display:grid}.post-list--rows{flex-direction:column;gap:56px;margin:48px 0 96px;display:flex}.tech-page .post-list--rows{margin-top:40px}.post-list--rows .post-list-card{max-width:none;box-shadow:none;color:inherit;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(0,1fr) minmax(140px,220px);align-items:center;gap:24px 32px;padding:0;text-decoration:none;display:grid}.post-list--rows .post-list-copy{gap:10px;min-height:0}.post-list--rows .post-list-copy h3{letter-spacing:-.03em;text-wrap:wrap;word-break:normal;overflow-wrap:normal;margin:0;font-size:clamp(1.15rem,1.8vw,1.45rem);font-weight:800;line-height:1.3}.post-list--rows .post-list-excerpt{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:15px;line-height:1.55;display:-webkit-box;overflow:hidden}.post-list--rows .post-list-art{border-radius:18px;width:100%;height:140px;position:relative;overflow:hidden}.post-list--rows .post-list-art img{object-fit:cover;transition:transform .24s}.post-list--rows .post-list-card:hover .post-list-art img,.post-list--rows .post-list-card:focus-visible .post-list-art img{transform:scale(1.04)}.post-list--rows .post-list-card:hover .post-list-copy h3,.post-list--rows .post-list-card:focus-visible .post-list-copy h3{opacity:.72}.event-list-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--paper);transition:transform .24s,box-shadow .24s;position:relative;overflow:hidden}.post-list-card{box-shadow:none;color:inherit;background:0 0;border:0;border-radius:0;flex-direction:column;gap:18px;text-decoration:none;display:flex;position:relative;overflow:visible}.post-list-card:hover .post-list-art img,.post-list-card:focus-visible .post-list-art img{transform:scale(1.04)}.post-list-card:hover .post-list-copy h3,.post-list-card:focus-visible .post-list-copy h3{opacity:.72}@supports (color:color-mix(in lab, red, red)){.event-list-card:hover{box-shadow:0 18px 34px color-mix(in srgb, var(--foreground) 10%, transparent)}}.post-list:not(.post-list--rows):not(.post-list--research) .post-list-card:only-child{grid-column:1/-1;grid-template-columns:minmax(0,1.45fr) minmax(240px,.85fr);align-items:stretch;gap:32px;display:grid}.post-list:not(.post-list--rows):not(.post-list--research) .post-list-card:only-child .post-list-copy{justify-content:flex-start;max-width:26rem;height:100%;min-height:100%;padding-top:0}.post-list-art{border-radius:var(--radius);background:var(--surface-big);height:220px;position:relative;overflow:hidden}.post-list:not(.post-list--rows):not(.post-list--research) .post-list-card:only-child .post-list-art{aspect-ratio:40/21;align-self:stretch;width:100%;height:auto;min-height:0}.post-list-art:after{z-index:1;content:"";mix-blend-mode:multiply;opacity:.6;pointer-events:none;background-position:50%;background-size:cover;display:none;position:absolute;inset:0}.post-list-art-1{background:var(--vy-blue-pale)}.post-list-art-1:after{background-image:var(--motif-a)}.post-list-art-2{background:var(--vy-green-light)}.post-list-art-2:after{background-image:var(--motif-b)}.post-list-art-3{background:var(--vy-pink-pale)}.post-list-art-3:after{background-image:var(--motif-c)}.home-lower .post-list-art img{object-fit:cover;mix-blend-mode:normal;opacity:1;will-change:transform;transition:transform .5s;transform:scale(1)}.post-list-copy{flex-direction:column;flex:1;gap:10px;min-height:0;padding:0;display:flex}.lower-meta{color:var(--muted);flex-wrap:wrap;gap:8px 14px;font-size:12px;font-weight:700;display:flex}.lower-meta span+span:before{color:var(--border-strong);content:"/";margin-right:14px}.post-list-kicker{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800;line-height:1.2}.home-lower .post-list-copy h3{letter-spacing:-.04em;text-wrap:wrap;word-break:normal;overflow-wrap:normal;max-width:none;margin:0;font-size:clamp(1.35rem,1.8vw,1.7rem);font-weight:900;line-height:1.15;transition:opacity .18s}.post-list-excerpt{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.55;display:-webkit-box;overflow:hidden}.post-list-footer{flex-direction:column;gap:10px;width:100%;margin-top:auto;padding-top:12px;display:flex}.post-list-tags{color:var(--muted);flex-wrap:wrap;gap:6px 10px;margin:0;padding:0;font-size:12px;font-weight:700;list-style:none;display:flex}.post-list-byline{width:100%;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;font-size:12px;font-weight:700;display:flex}.post-list-byline-author{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:inline-flex}.post-list-byline time{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.post-list:not(.post-list--rows):not(.post-list--research) .post-list-card:only-child .post-list-footer{margin-top:auto}.post-list:not(.post-list--rows):not(.post-list--research) .post-list-card:only-child .post-list-byline{justify-content:space-between}.lower-events{grid-template-columns:minmax(0,1fr) auto;padding-bottom:84px;display:grid}.lower-events>.lower-heading{display:contents}.lower-events>.lower-heading>div{grid-area:1/1;align-self:end;margin-bottom:16px}.lower-events--has-banner>.lower-heading>div{margin-bottom:24px}.lower-events>:where(.event-feature-list){grid-area:2/1/auto/-1}.lower-events>:where(.event-list),.lower-events>:where(.empty-state){grid-area:3/1/auto/-1}.event-feature{border-radius:var(--radius);background-color:var(--event-feature-gradient-start);background-image:linear-gradient(115deg, var(--event-feature-gradient-start) 0%, var(--event-feature-gradient-middle) 52%, var(--event-feature-gradient-end) 100%);min-height:200px;box-shadow:inset 0 0 0 1px var(--event-feature-gradient-middle);grid-template-columns:2fr 3fr;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.event-feature{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--event-feature-gradient-middle) 55%, transparent)}}.event-feature{transition:opacity .16s}.event-feature-pending{opacity:.92}.event-feature-ready{opacity:1}.event-feature-list{flex-direction:column;gap:16px;margin-bottom:16px;display:flex}.event-feature-cover{min-height:200px;position:relative;overflow:hidden}.event-feature-cover:after{display:none}.home-lower .event-feature-cover img{object-fit:cover;-webkit-mask-image:linear-gradient(90deg,#000 0% 42%,#000000d1 62%,#0000 100%);mask-image:linear-gradient(90deg,#000 0% 42%,#000000d1 62%,#0000 100%)}.event-feature-copy{flex-direction:column;justify-content:center;padding:28px 40px 28px 16px;display:flex}.event-feature-date{color:var(--foreground);font-size:13px;font-weight:700;line-height:1.2}.home-lower .event-feature-copy h3{letter-spacing:-.06em;text-wrap:balance;word-break:keep-all;overflow-wrap:break-word;max-width:14ch;margin:10px 0 14px;font-size:clamp(1.45rem,2.8vw,2.6rem);font-weight:900;line-height:.98}.event-feature-copy .lower-meta{color:var(--foreground);font-size:13px}.event-feature-arrow{border:2px solid var(--foreground);border-radius:50%;place-items:center;width:48px;height:48px;font-size:22px;display:grid;position:absolute;bottom:24px;right:26px}.event-list{flex-direction:column;gap:12px;display:flex}.event-list-card{border:0;border-bottom:1px solid var(--border-strong);min-width:0;min-height:164px;box-shadow:none;background:0 0;border-radius:0;grid-template-columns:130px minmax(0,1fr) 132px;align-items:center;gap:24px;padding:22px 0;display:grid;overflow:visible}.event-list-body{min-width:0}.event-list-card:last-child{border-bottom:0}.event-list-card:hover{box-shadow:none;transform:none}.event-list-date{color:var(--muted-bright);text-align:center;flex-direction:column;justify-content:center;align-items:center;font-weight:500;line-height:.95;display:flex}.event-list-date span{color:var(--muted-bright);letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-weight:500}.event-list-date strong{color:var(--foreground);letter-spacing:-.08em;margin:14px 0 9px;font-size:44px;font-weight:500;line-height:.9}.event-list-date small{color:var(--muted-bright);font-size:13px;font-weight:500}.home-lower .event-list-card h3{letter-spacing:-.02em;text-wrap:balance;margin:5px 0 8px;font-size:clamp(1.25rem,2vw,1.75rem);font-weight:600;line-height:1.05}.event-list-card .lower-meta{font-size:13px;font-weight:600}.event-list-cover{background:var(--vy-blue-pale);border-radius:18px;justify-self:end;width:132px;height:132px;position:relative;overflow:hidden}.event-list-cover img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.empty-state{border-top:1px solid var(--border);color:var(--muted);margin:0;padding:40px 0}.post-list>.empty-state{grid-column:1/-1;width:100%}.site-footer{border-top:1px solid var(--border);background:var(--background);color:var(--foreground);margin-top:24px}.site-footer-inner{grid-template-columns:minmax(200px,.9fr) minmax(0,2fr);gap:48px 64px;padding-top:56px;padding-bottom:28px;display:grid}.site-footer-brand{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.site-footer-logo{color:inherit;text-decoration:none;display:inline-flex}.site-footer-tagline{max-width:28ch;color:var(--muted);margin:0;font-size:14px;font-weight:600;line-height:1.5}.site-footer-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 28px;display:grid}.site-footer-group{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.site-footer-label{color:var(--muted);letter-spacing:.04em;margin:0 0 4px;font-size:12px;font-weight:800;line-height:1.2}.site-footer a{color:var(--foreground);font-size:14px;font-weight:600;text-decoration:none;transition:opacity .18s}.site-footer a:hover{opacity:.62}.site-footer-bottom{border-top:1px solid var(--border);color:var(--muted);grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;padding-top:20px;font-size:12px;font-weight:600;display:flex}.site-footer-legal{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.site-footer-legal a{color:var(--muted);font-size:12px;font-weight:600}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms}.blog-post-summary-list li.is-pending,.blog-post-summary-list li.is-streaming,.blog-post-summary-list li.is-done{opacity:1}.blog-post-cta-dialog,.blog-post-cta-dialog::backdrop{transition-duration:.01ms;transform:none}}.blog-post-shell{--blog-post-reading-width:72ch;--blog-post-toc-width:220px;--blog-post-toc-gap:48px;width:min(100%, calc(var(--blog-post-reading-width) + 56px));margin:0 auto;padding:54px 28px 96px;overflow:visible}.blog-post-breadcrumb{color:var(--muted);margin:0 0 1.75rem;font-size:.8125rem;line-height:1.4}.blog-post-breadcrumb-list{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin:0;padding:0;list-style:none;display:flex}.blog-post-breadcrumb-item{align-items:center;gap:.5rem;min-width:0;display:inline-flex}.blog-post-breadcrumb-item a{color:var(--muted);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--muted);-webkit-text-decoration-color:var(--muted);-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.blog-post-breadcrumb-item a{-webkit-text-decoration-color:color-mix(in srgb, var(--muted) 45%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--muted) 45%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--muted) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--muted) 45%, transparent)}}.blog-post-breadcrumb-item a:hover{color:var(--muted-bright);-webkit-text-decoration-color:var(--muted-bright);-webkit-text-decoration-color:var(--muted-bright);-webkit-text-decoration-color:var(--muted-bright);text-decoration-color:var(--muted-bright)}@supports (color:color-mix(in lab, red, red)){.blog-post-breadcrumb-item a:hover{-webkit-text-decoration-color:color-mix(in srgb, var(--muted-bright) 70%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--muted-bright) 70%, transparent);-webkit-text-decoration-color:color-mix(in srgb, var(--muted-bright) 70%, transparent);text-decoration-color:color-mix(in srgb, var(--muted-bright) 70%, transparent)}}.blog-post-breadcrumb-item [aria-current=page]{color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.blog-post-breadcrumb-item [aria-current=page]{color:color-mix(in srgb, var(--muted) 72%, var(--foreground))}}.blog-post-breadcrumb-item [aria-current=page]{text-overflow:ellipsis;white-space:nowrap;max-width:min(100%,36rem);font-weight:400;overflow:hidden}.blog-post-breadcrumb-sep{color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.blog-post-breadcrumb-sep{color:color-mix(in srgb, var(--muted) 70%, transparent)}}.blog-post-breadcrumb-sep{-webkit-user-select:none;user-select:none}html:has(.tech-surface) .blog-post-breadcrumb{color:var(--muted)}html:has(.tech-surface) .blog-post-breadcrumb-item a{color:var(--muted)}html:has(.tech-surface) .blog-post-breadcrumb-item [aria-current=page]{color:var(--muted)}@supports (color:color-mix(in lab, red, red)){html:has(.tech-surface) .blog-post-breadcrumb-item [aria-current=page]{color:color-mix(in srgb, var(--muted) 72%, var(--foreground))}}.blog-post-header{margin:0 0 32px}.blog-post-back{color:var(--muted);margin-bottom:32px;font-size:.8125rem;font-weight:650;display:inline-block}.blog-post-back:hover{color:var(--foreground)}.blog-post-kicker{color:var(--accent-link);letter-spacing:.08em;margin:0 0 14px;font-size:.75rem;font-weight:750}.blog-post-tags{color:var(--vy-green-dark);letter-spacing:.02em;flex-wrap:wrap;gap:8px 12px;margin:0 0 16px;padding:0;font-size:.8125rem;font-weight:600;list-style:none;display:flex}.blog-post-header h1{letter-spacing:-.045em;text-wrap:wrap;overflow-wrap:break-word;word-break:keep-all;line-break:strict;white-space:normal;margin:0;font-size:clamp(2rem,5vw,3.5rem);font-weight:900;line-height:.98}.blog-post-description{max-width:60ch;color:var(--muted);text-wrap:pretty;margin:22px 0 0;font-size:1.0625rem;line-height:1.65}.blog-post-meta{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:22px 0 0;font-size:.8125rem;display:flex}.blog-post-meta-details{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.blog-post-meta-author{color:var(--foreground)}.blog-post-summary{background:var(--vy-green-pale);border:0;border-radius:18px;margin:0 0 42px;padding:20px 22px}@supports (color:color-mix(in lab, red, red)){.blog-post-summary{background:color-mix(in srgb, var(--vy-green-pale) 72%, var(--paper))}}.blog-post-summary{box-shadow:none;outline:none}.blog-post-summary-label{letter-spacing:-.01em;color:var(--vy-green-dark);margin:0 0 12px;font-family:inherit;font-size:.8125rem;font-weight:800;line-height:1.35}.blog-post-summary-list{counter-reset:summary-item;gap:10px;margin:0;padding:0;list-style:none;display:grid}.blog-post-summary-list li{min-height:1.55em;color:var(--foreground);grid-template-columns:1.5rem minmax(0,1fr);align-items:start;column-gap:10px;font-size:.95rem;font-weight:550;line-height:1.55;display:grid;position:relative}@supports (color:color-mix(in lab, red, red)){.blog-post-summary-list li{color:color-mix(in srgb, var(--foreground) 86%, var(--vy-green-dark))}}.blog-post-summary-list li{text-wrap:pretty;word-break:keep-all;counter-increment:summary-item;transition:opacity .32s}.blog-post-summary-list li:before{width:auto;height:auto;color:var(--vy-green-dark);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.04em;content:counter(summary-item, decimal-leading-zero);background:0 0;border-radius:0;margin-top:.1em;font-size:.72rem;font-weight:700;line-height:1.4}.blog-post-summary-text{white-space:pre-wrap;min-width:0}.blog-post-summary-list li.is-pending{opacity:.28}.blog-post-summary-list li.is-streaming,.blog-post-summary-list li.is-done{opacity:1}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.blog-post-toc{border:0;margin:0;padding:0}.blog-post-toc-sticky{border-left:1px solid var(--border-strong);padding:0 0 0 16px;position:sticky;top:96px}.blog-post-toc-label{color:var(--muted);letter-spacing:.04em;margin:0 0 14px;font-size:.75rem;font-weight:750}.blog-post-toc-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.blog-post-toc-list li{margin:0;line-height:1.45}.blog-post-toc-level-3{padding-left:16px}.blog-post-toc-list a{color:var(--muted);text-wrap:pretty;word-break:keep-all;font-size:.8125rem;font-weight:650;text-decoration:none;transition:color .18s,opacity .18s;display:block;position:relative}.blog-post-toc-list a:hover{color:var(--vy-green-dark)}.blog-post-toc-list a:before{background:var(--vy-green-dark);content:"";opacity:0;transform-origin:50%;border-radius:999px;width:2px;transition:opacity .18s,transform .22s;position:absolute;top:.15em;bottom:.15em;left:-17px;transform:scaleY(.35)}.blog-post-toc-list a.is-active{color:var(--vy-green-dark);font-weight:800}.blog-post-toc-list a.is-active:before{opacity:1;transform:scaleY(1)}.blog-post-share-button{appearance:none;border:1px solid var(--border);width:36px;height:36px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;flex:0 0 36px;justify-content:center;align-items:center;padding:0;transition:transform .18s;display:inline-flex;position:relative}.blog-post-share-button:before{content:"";position:absolute;inset:-5px}.blog-post-share-button:active{transform:translateY(1px)}.blog-post-share-button:focus-visible{outline:3px solid var(--foreground);outline-offset:4px}.blog-post-share-button[data-state=success]{border-color:var(--vy-green-dark)}@supports (color:color-mix(in lab, red, red)){.blog-post-share-button[data-state=success]{border-color:color-mix(in srgb, var(--vy-green-dark) 44%, var(--border))}}.blog-post-share-button[data-state=success]{background:var(--vy-green)}@supports (color:color-mix(in lab, red, red)){.blog-post-share-button[data-state=success]{background:color-mix(in srgb, var(--vy-green) 18%, var(--paper))}}.blog-post-share-button[data-state=error]{border-color:var(--vy-pink)}@supports (color:color-mix(in lab, red, red)){.blog-post-share-button[data-state=error]{border-color:color-mix(in srgb, var(--vy-pink) 46%, var(--border))}}.blog-post-share-button[data-state=error]{background:var(--vy-pink-pale)}@supports (color:color-mix(in lab, red, red)){.blog-post-share-button[data-state=error]{background:color-mix(in srgb, var(--vy-pink-pale) 48%, var(--paper))}}.blog-post-share-button:hover{border-color:var(--border-strong);background:var(--gray);color:var(--foreground)}.blog-post-share-icon{place-items:center;width:15px;height:15px;display:inline-grid;overflow:hidden}.blog-post-share-icon svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;grid-area:1/1;width:15px;height:15px;transition:opacity .18s,transform .22s}.blog-post-share-icon-success{opacity:0;transform:translateY(8px)}.blog-post-share-button[data-state=success] .blog-post-share-icon-default{opacity:0;transform:translateY(-8px)}.blog-post-share-button[data-state=success] .blog-post-share-icon-success{opacity:1;transform:translateY(0)}.blog-post-share-feedback{z-index:90;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 24px);box-sizing:border-box;border:1px solid var(--paper);align-items:center;gap:8px;max-width:calc(100vw - 32px);min-height:44px;padding:12px 16px;display:inline-flex;position:fixed}@supports (color:color-mix(in lab, red, red)){.blog-post-share-feedback{border:1px solid color-mix(in srgb, var(--paper) 24%, transparent)}}.blog-post-share-feedback{background:var(--foreground);color:var(--paper);white-space:nowrap;pointer-events:none;border-radius:999px;font-size:.8125rem;font-weight:800;line-height:1.4;animation-name:blog-post-share-feedback-lifecycle;animation-timing-function:ease;animation-fill-mode:both}.blog-post-share-feedback-icon{flex:0 0 16px;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.blog-post-share-feedback-icon svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:16px;height:16px}.blog-post-share-feedback[data-state=success] .blog-post-share-feedback-icon{color:var(--vy-green)}.blog-post-share-feedback[data-state=error] .blog-post-share-feedback-icon{color:var(--vy-pink)}@keyframes blog-post-share-feedback-lifecycle{0%{opacity:0;transform:translate(-50%,8px)}10%,90%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,8px)}}@media (prefers-reduced-motion:reduce){.blog-post-share-icon svg{transition:none}.blog-post-share-feedback{animation:none}}.blog-post-cta{box-sizing:border-box;background:var(--surface-feature);width:100%;min-width:0;max-width:none;color:inherit;flex-direction:column;align-items:stretch;gap:20px;margin:48px 0 0;padding:28px 28px 26px;text-decoration:none;display:flex}a.card.blog-post-cta:hover,a.card.blog-post-cta:active{box-shadow:none;transform:none}.blog-post-cta:before{z-index:-1;background-image:var(--motif-a);content:"";opacity:.34;pointer-events:none;background-position:100%;background-size:cover;position:absolute;inset:0}.blog-post-cta>*{z-index:1;position:relative}.blog-post-cta-brand{align-items:center;display:flex}.blog-post-cta-logo{width:72px;height:auto;display:block}.blog-post-cta-main{justify-content:space-between;align-items:flex-end;gap:24px;width:100%;min-width:0;display:flex}.blog-post-cta-copy{flex:auto;min-width:0}.blog-post-cta-eyebrow{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;margin:0 0 8px;font-size:.75rem;font-weight:800}.blog-post-cta-title{letter-spacing:-.04em;text-wrap:balance;word-break:keep-all;max-width:22ch;margin:0;font-size:clamp(1.45rem,2.2vw,1.9rem);font-weight:900;line-height:1.15}.blog-post-cta-description{max-width:42ch;color:var(--ink-soft);text-wrap:pretty;word-break:keep-all;margin:12px 0 0;font-size:.9375rem;line-height:1.55}.blog-post-cta-action{flex-shrink:0;align-items:center;gap:10px;margin-top:4px;display:inline-flex}.blog-post-cta-label{letter-spacing:-.01em;white-space:nowrap;font-size:.875rem;font-weight:800}button.blog-post-cta-button{appearance:none;font:inherit;text-align:left;cursor:pointer;color:inherit;border:0}button.blog-post-cta-button:hover,button.blog-post-cta-button:active{box-shadow:none;transform:none}button.blog-post-cta-button:focus-visible{outline:2px solid var(--foreground);outline-offset:3px}.blog-post-cta-dialog{border-radius:calc(var(--radius) - 4px);width:min(100% - 32px,520px);max-height:min(90vh,720px);color:var(--foreground);opacity:0;background:0 0;border:0;margin:auto;padding:0;transition:opacity .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1);transform:translateY(12px)scale(.975)}.blog-post-cta-dialog[data-state=open]{opacity:1;transform:translateY(0)scale(1)}.blog-post-cta-dialog[data-state=closing]{opacity:0;transition-duration:.14s;transition-timing-function:ease-in;transform:translateY(8px)scale(.98)}.blog-post-cta-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;background:#05050585;transition:opacity .18s ease-out}.blog-post-cta-dialog[data-state=open]::backdrop{opacity:1}.blog-post-cta-dialog[data-state=closing]::backdrop{opacity:0;transition-duration:.14s;transition-timing-function:ease-in}.blog-post-cta-dialog-panel{border:1px solid var(--border);border-radius:inherit;background:var(--paper);flex-direction:column;gap:20px;padding:24px;display:flex;box-shadow:0 24px 60px #00000038}.blog-post-cta-dialog-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.blog-post-cta-dialog-title{letter-spacing:-.03em;text-wrap:balance;word-break:keep-all;margin:0;font-size:clamp(1.25rem,2vw,1.5rem);font-weight:900;line-height:1.2}.blog-post-cta-dialog-description{color:var(--ink-soft);text-wrap:pretty;word-break:keep-all;margin:8px 0 0;font-size:.9375rem;line-height:1.55}.blog-post-cta-dialog-close{background:var(--gray);width:36px;height:36px;color:var(--foreground);cursor:pointer;border:0;border-radius:999px;flex-shrink:0;font-size:1.25rem;line-height:1}.blog-post-cta-dialog-close:hover:not(:disabled){opacity:.85}.blog-post-cta-dialog-close:disabled{cursor:not-allowed;opacity:.6}.blog-post-cta-form{flex-direction:column;gap:14px;width:100%;min-width:0;display:flex}.blog-post-cta-field{flex-direction:column;gap:8px;min-width:0;display:flex}.blog-post-cta-label-text{letter-spacing:-.01em;font-size:.8125rem;font-weight:800}.blog-post-cta-control{flex-wrap:wrap;gap:10px;min-width:0;display:flex}.blog-post-cta-input{border:1px solid var(--foreground);flex:220px;min-width:0;height:48px;padding:0 16px}@supports (color:color-mix(in lab, red, red)){.blog-post-cta-input{border:1px solid color-mix(in srgb, var(--foreground) 14%, transparent)}}.blog-post-cta-input{background:var(--paper);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.blog-post-cta-input{background:color-mix(in srgb, var(--paper) 88%, transparent)}}.blog-post-cta-input{color:var(--foreground);font:inherit;outline:none;font-size:.9375rem;transition:border-color .16s,box-shadow .16s}.blog-post-cta-input::placeholder{color:var(--muted)}.blog-post-cta-input:focus-visible{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.blog-post-cta-input:focus-visible{border-color:color-mix(in srgb, var(--foreground) 42%, transparent)}}.blog-post-cta-input:focus-visible{box-shadow:0 0 0 3px var(--foreground)}@supports (color:color-mix(in lab, red, red)){.blog-post-cta-input:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--foreground) 12%, transparent)}}.blog-post-cta-submit{background:var(--foreground);height:48px;color:var(--paper);font:inherit;letter-spacing:-.01em;cursor:pointer;white-space:nowrap;border:0;border-radius:999px;flex:none;padding:0 18px;font-size:.875rem;font-weight:800;transition:opacity .16s,transform .16s}.blog-post-cta-submit:hover:not(:disabled){opacity:.9}.blog-post-cta-submit:active:not(:disabled){transform:translateY(1px)}.blog-post-cta-submit:disabled,.blog-post-cta-input:disabled{cursor:not-allowed;opacity:.72}.blog-post-cta-consent{max-width:54ch;color:var(--ink-soft);word-break:keep-all;cursor:pointer;align-items:flex-start;gap:10px;font-size:.8125rem;line-height:1.5;display:flex}.blog-post-cta-consent input{width:16px;height:16px;accent-color:var(--foreground);flex-shrink:0;margin:3px 0 0}.blog-post-cta-consent-copy{flex-direction:column;gap:2px;display:flex}.blog-post-cta-consent-copy strong{color:var(--foreground);font-weight:800}.blog-post-cta-privacy-link{width:fit-content;color:var(--foreground);text-underline-offset:2px;font-weight:700;text-decoration:underline}.blog-post-cta-status{word-break:keep-all;margin:0;font-size:.875rem;font-weight:650;line-height:1.45;display:block}.blog-post-cta-status[data-tone=success]{color:var(--vy-green-dark)}@supports (color:color-mix(in lab, red, red)){.blog-post-cta-status[data-tone=success]{color:color-mix(in srgb, var(--vy-green-dark) 72%, var(--foreground))}}.blog-post-cta-status[data-tone=error]{color:var(--vy-pink)}@supports (color:color-mix(in lab, red, red)){.blog-post-cta-status[data-tone=error]{color:color-mix(in srgb, var(--vy-pink) 70%, var(--foreground))}}.blog-post-cta-honeypot{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.blog-post-related{width:100%;min-width:0;max-width:none;margin:64px 0 0}.blog-post-related-title{letter-spacing:-.03em;text-wrap:balance;word-break:keep-all;margin:0 0 24px;font-size:clamp(1.25rem,2vw,1.5rem);font-weight:900;line-height:1.2}.blog-post-related-grid{flex-direction:column;gap:28px;width:100%;min-width:0;display:flex}.blog-post-related-card{grid-template-columns:minmax(0,1fr) minmax(140px,220px);align-items:center;gap:20px 28px;width:100%;min-width:0;display:grid}.blog-post-related-card .post-list-copy{gap:10px;min-height:0}.blog-post-related-card .post-list-art{border-radius:18px;width:100%;height:140px;position:relative;overflow:hidden}.blog-post-related-card .post-list-art img{object-fit:cover;transition:transform .5s;transform:scale(1)}.blog-post-related-card .post-list-copy h3{letter-spacing:-.04em;text-wrap:wrap;word-break:normal;overflow-wrap:normal;max-width:none;margin:0;font-size:clamp(1.15rem,1.6vw,1.4rem);font-weight:900;line-height:1.25;transition:opacity .18s}.blog-post-related-card .post-list-excerpt{-webkit-line-clamp:2}.blog-post-content-grid{grid-template-columns:minmax(0,1fr);justify-content:stretch;align-items:start;width:100%;min-width:0;display:grid;position:relative;overflow:visible}.blog-post-main{width:100%;min-width:0}.blog-post-prose{min-width:0;margin:0}.blog-post-content-grid>.blog-post-toc{top:0;bottom:0;left:calc(100% + var(--blog-post-toc-gap));width:var(--blog-post-toc-width);pointer-events:none;margin:0;padding:0;position:absolute}.blog-post-content-grid>.blog-post-toc .blog-post-toc-sticky{pointer-events:auto}.prose{--prose-code-background:var(--gray);--prose-radius:10px;width:100%;max-width:68ch;color:var(--foreground);font-size:1.0625rem;line-height:1.78}.prose.blog-post-prose{max-width:none}.prose>:first-child{margin-top:0}.prose p{color:var(--foreground);margin:1.3em 0}@supports (color:color-mix(in lab, red, red)){.prose p{color:color-mix(in oklch, var(--foreground) 88%, var(--muted))}}.prose p,.prose li{text-wrap:pretty}.prose.prose h2,.prose.prose h3,.prose.prose h4{color:var(--foreground);letter-spacing:-.015em;text-wrap:balance;scroll-margin-top:6.5rem;font-weight:600}.prose.prose h2{border-bottom:1px solid var(--border);margin:2.4em 0 .9em;padding-bottom:.4em;font-size:1.5rem;line-height:1.3}.prose.prose h3{margin:2em 0 .7em;font-size:1.25rem;line-height:1.4}.prose.prose h4{letter-spacing:-.005em;margin:1.6em 0 .5em;font-size:1.0625rem}.prose .heading-anchor{color:inherit;text-decoration:none;position:relative}.prose .heading-anchor:hover:before{color:var(--accent-link);content:"#";font-weight:500;position:absolute;left:-1.05em}.prose a:not(.heading-anchor){color:var(--accent-link);text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--accent-link);-webkit-text-decoration-color:var(--accent-link);-webkit-text-decoration-color:var(--accent-link);text-decoration-color:var(--accent-link)}@supports (color:color-mix(in lab, red, red)){.prose a:not(.heading-anchor){-webkit-text-decoration-color:color-mix(in oklch, var(--accent-link) 35%, transparent);-webkit-text-decoration-color:color-mix(in oklch, var(--accent-link) 35%, transparent);-webkit-text-decoration-color:color-mix(in oklch, var(--accent-link) 35%, transparent);text-decoration-color:color-mix(in oklch, var(--accent-link) 35%, transparent)}}.prose a:not(.heading-anchor){text-underline-offset:3px;transition:text-decoration-color .15s}.prose a:not(.heading-anchor):hover{-webkit-text-decoration-color:var(--accent-link);-webkit-text-decoration-color:var(--accent-link);-webkit-text-decoration-color:var(--accent-link);text-decoration-color:var(--accent-link)}.prose strong{color:var(--foreground);font-weight:650}.prose ul,.prose ol{color:var(--foreground);margin:1.25em 0;padding-left:1.4em}@supports (color:color-mix(in lab, red, red)){.prose ul,.prose ol{color:color-mix(in oklch, var(--foreground) 86%, var(--muted))}}.prose li{margin:.45em 0}.prose li::marker{color:var(--muted)}.prose blockquote{color:var(--muted);border-left:2px solid var(--border);margin:1.6em 0;padding:.2em 0 .2em 1.1em}.prose blockquote p{color:inherit;margin:.5em 0}.prose hr{border:0;border-top:1px solid var(--border);margin:2.6em 0}.prose :not(pre)>code{font-family:var(--font-mono);color:var(--foreground);background:var(--prose-code-background);border:1px solid var(--border);border-radius:6px;padding:.15em .4em;font-size:.86em}.prose table{border-collapse:collapse;width:100%;margin:1.8em 0;font-size:.94rem;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border:1px solid var(--border);padding:.55em .9em}.prose thead th{color:var(--foreground);background:var(--gray);font-size:.85rem;font-weight:600}.prose.prose img{aspect-ratio:16/9;object-fit:cover;object-position:center;border:1px solid var(--border);border-radius:var(--prose-radius);width:100%;height:auto;margin:1.8em 0;display:block}.prose figure[data-rehype-pretty-code-figure]{background:var(--prose-code-background);border:1px solid var(--border);border-radius:var(--prose-radius);margin:1.7em 0;overflow:hidden}.prose figcaption[data-rehype-pretty-code-title]{font-family:var(--font-mono);color:var(--muted);background:var(--paper);border-bottom:1px solid var(--border);padding:.6em 1.1em;font-size:.8rem}.prose figure[data-rehype-pretty-code-figure] pre{background:0 0;margin:0;padding:1em 0;font-size:.875rem;line-height:1.7;overflow-x:auto}.prose figure[data-rehype-pretty-code-figure] code{font-family:var(--font-mono);background:0 0;display:grid}.prose [data-rehype-pretty-code-figure] code[data-theme] span{color:var(--shiki-light)}.dark .prose [data-rehype-pretty-code-figure] code[data-theme] span{color:var(--shiki-dark)}html:has(.tech-surface) .prose [data-rehype-pretty-code-figure] code[data-theme] span{color:var(--shiki-dark)}.prose code[data-line-numbers]{counter-reset:line}.prose code[data-line-numbers]>[data-line]:before{width:1.2rem;color:var(--muted);margin-right:1.2rem;display:inline-block}@supports (color:color-mix(in lab, red, red)){.prose code[data-line-numbers]>[data-line]:before{color:color-mix(in oklch, var(--muted) 60%, transparent)}}.prose code[data-line-numbers]>[data-line]:before{text-align:right;content:counter(line);counter-increment:line}.prose figure[data-rehype-pretty-code-figure] [data-line]{border-left:2px solid #0000;padding:0 1.2em}.prose figure[data-rehype-pretty-code-figure] [data-highlighted-line]{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.prose figure[data-rehype-pretty-code-figure] [data-highlighted-line]{background:color-mix(in oklch, var(--foreground) 5%, transparent)}}.prose figure[data-rehype-pretty-code-figure] [data-highlighted-line]{border-left-color:var(--accent-link)}.prose [data-highlighted-chars]{background:var(--foreground);padding:.1em .2em}@supports (color:color-mix(in lab, red, red)){.prose [data-highlighted-chars]{background:color-mix(in oklch, var(--foreground) 8%, transparent)}}.prose [data-highlighted-chars]{border-radius:3px}@media (max-width:1180px){.bento{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-areas:"big big big big big big""big big big big big big""big big big big big big""big big big big big big""big big big big big big""feat feat feat feat feat feat""feat feat feat feat feat feat""feat feat feat feat feat feat""side side side tut tut tut""side side side tut tut tut""cats cats cats cats cats cats""cats cats cats cats cats cats";grid-auto-rows:minmax(52px,auto)}.bento.bento-no-tut{grid-template-areas:"big big big big big big""big big big big big big""big big big big big big""big big big big big big""big big big big big big""feat feat feat feat feat feat""feat feat feat feat feat feat""feat feat feat feat feat feat""side side side side side side""side side side side side side""cats cats cats cats cats cats""cats cats cats cats cats cats"}.b-feat{min-height:260px;padding:18px 20px}.b-feat-title{overflow-wrap:break-word;word-break:keep-all;font-size:clamp(1.35rem,2.8vw,1.85rem)}.b-feat-desc{max-width:none}.b-side,.b-tut{min-height:240px}.b-tut{padding:18px}.b-tut .foot h3{max-width:none;font-size:clamp(1.05rem,2vw,1.3rem)}.b-cats{padding:18px}.b-big-copy{max-width:min(100%,36rem);padding:64px 20px 18px}.b-big-title{font-size:clamp(1.2rem,2.4vw,1.55rem)}.b-side-title{font-size:clamp(1.05rem,2.2vw,1.35rem)}}@media (max-width:900px) and (min-width:721px){.bento{grid-template-columns:1fr;grid-template-areas:"big""big""big""big""feat""feat""feat""side""side""tut""tut""cats""cats";grid-auto-rows:minmax(48px,auto)}.bento.bento-no-tut{grid-template-areas:"big""big""big""big""feat""feat""feat""side""side""cats""cats"}.b-big{min-height:320px}.b-feat{min-height:280px}.b-side,.b-tut{min-height:220px}}@media (max-width:1280px){.blog-post-content-grid>.blog-post-toc{display:none}}@media (max-width:720px){.tech-page{padding-top:32px}:where(.tech-page-header) .blog-post-back{margin-bottom:44px}.tech-page-header h1{font-size:clamp(1.5rem,6vw,1.85rem)}html:has(.tech-surface) .post-list--research .post-list-card{padding:18px 0}.blog-post-shell{padding:36px 18px 72px}html:has(.tech-surface) .blog-post-shell{padding-left:18px;padding-right:18px}.blog-post-header{margin-bottom:34px}.blog-post-cta{gap:16px;margin-top:36px;padding:22px 20px 20px}.blog-post-cta-main{flex-direction:column;align-items:flex-start;gap:18px}.blog-post-cta-title,.blog-post-cta-description{max-width:none}.blog-post-cta-control{flex-direction:column}.blog-post-cta-input,.blog-post-cta-submit{width:100%}.blog-post-cta-dialog{width:min(100% - 24px,520px)}.blog-post-cta-dialog-panel{padding:20px}.blog-post-related{margin-top:48px}.blog-post-related-grid{gap:24px}.blog-post-related-card{grid-template-columns:minmax(0,1fr);gap:14px}.blog-post-related-card .post-list-art{order:-1;height:180px}.wrap{padding:0 18px}.site-links,.nav-cta-desktop{display:none}.site-nav-toggle{display:inline-flex}.site-mobile-nav{z-index:1;pointer-events:none;opacity:0;transition:opacity .18s,transform .18s;display:block;position:absolute;top:100%;left:0;right:0;transform:translateY(-6px)}.site-mobile-nav[data-open=true]{pointer-events:auto;opacity:1;transform:translateY(0)}.site-mobile-nav-panel{background:var(--paper);gap:18px;margin:0 18px 18px;padding:18px;display:grid}@supports (color:color-mix(in lab, red, red)){.site-mobile-nav-panel{background:color-mix(in srgb, var(--paper) 96%, transparent)}}.site-mobile-nav-panel{border:1px solid var(--muted)}@supports (color:color-mix(in lab, red, red)){.site-mobile-nav-panel{border:1px solid color-mix(in srgb, var(--muted) 16%, transparent)}}.site-mobile-nav-panel{box-shadow:0 22px 48px var(--foreground);border-radius:20px}@supports (color:color-mix(in lab, red, red)){.site-mobile-nav-panel{box-shadow:0 22px 48px color-mix(in srgb, var(--foreground) 14%, transparent)}}.site-mobile-nav-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.site-mobile-nav-panel[hidden]{display:none}.site-mobile-nav-links{gap:4px;display:grid}.site-mobile-nav-link{letter-spacing:-.02em;min-height:48px;color:var(--foreground);border-radius:14px;align-items:center;padding:12px 14px;font-size:16px;font-weight:700;transition:background-color .15s;display:flex}.site-mobile-nav-link:hover,.site-mobile-nav-link:focus-visible{background:var(--vy-violet-pale)}@supports (color:color-mix(in lab, red, red)){.site-mobile-nav-link:hover,.site-mobile-nav-link:focus-visible{background:color-mix(in srgb, var(--vy-violet-pale) 70%, var(--paper))}}.site-mobile-nav-cta{justify-content:center;width:100%;min-height:48px}.site-mobile-nav-backdrop{z-index:0;cursor:default;background:var(--foreground);display:block;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.site-mobile-nav-backdrop{background:color-mix(in srgb, var(--foreground) 22%, transparent)}}.site-mobile-nav-backdrop{border:0}.bento{grid-template-columns:1fr;grid-template-areas:"feat""feat""feat";grid-auto-rows:minmax(44px,auto)}.bento.bento-no-tut{grid-template-areas:"feat""feat""feat"}.bento>.b-big,.bento>.b-side,.bento>.b-tut,.bento>.b-cats{display:none}.bento>.b-feat{min-height:280px}.home-lower{width:min(100% - 36px,1224px);margin-top:12px}.lower-section{padding-top:56px}.lower-heading{flex-direction:column;align-items:flex-start;gap:14px}.lower-events{flex-direction:column;gap:0;display:flex}.lower-events>.lower-heading{order:1;width:100%;display:block}.lower-events>.event-feature-list{order:2;width:100%}.lower-events>.event-list,.lower-events>.empty-state{order:3;width:100%}.post-list{grid-template-columns:1fr;gap:28px}.home-lower .post-list-card,.archive-page .post-list:not(.post-list--rows):not(.post-list--research) .post-list-card{gap:14px}.home-lower .post-list-art,.archive-page .post-list:not(.post-list--rows) .post-list-art{aspect-ratio:16/10;height:auto}.home-lower .post-list:not(.post-list--rows) .post-list-card:only-child,.post-list:not(.post-list--rows):not(.post-list--research) .post-list-card:only-child{flex-direction:column;grid-template-columns:none;align-items:stretch;gap:14px;display:flex}.post-list:not(.post-list--rows):not(.post-list--research) .post-list-card:only-child .post-list-art{aspect-ratio:40/21;height:auto;min-height:0}.post-list:not(.post-list--rows):not(.post-list--research) .post-list-card:only-child .post-list-copy{max-width:none}.post-list-copy{gap:8px;min-height:0}.home-lower .post-list-copy h3,.archive-page .post-list:not(.post-list--rows):not(.post-list--research) .post-list-copy h3{letter-spacing:-.025em;word-break:keep-all;overflow-wrap:normal;line-break:strict;text-wrap:pretty;white-space:normal;font-size:clamp(1.12rem,4.6vw,1.3rem);line-height:1.35}.post-list-kicker{letter-spacing:.06em;font-size:11px}.post-list-excerpt{-webkit-line-clamp:3;word-break:keep-all;overflow-wrap:normal;line-break:strict;font-size:13px;line-height:1.55}.post-list-tags{gap:4px 8px;margin-top:0}.post-list-byline{gap:6px;padding-top:2px;font-size:11.5px}.post-list--rows{gap:40px;margin:36px 0 72px}.tech-page .post-list--rows{margin-top:28px}.post-list--rows .post-list-card{grid-template-columns:minmax(0,1fr);gap:14px;max-width:none}.post-list--rows .post-list-copy h3{word-break:keep-all;overflow-wrap:normal;line-break:strict;text-wrap:pretty;white-space:normal;font-size:clamp(1.08rem,4.5vw,1.24rem);line-height:1.35}.post-list--rows .post-list-art{aspect-ratio:16/10;order:-1;height:auto}.event-feature-list{gap:12px;margin-bottom:4px}.event-feature{grid-template-columns:minmax(0,1fr);min-height:0}.event-feature-cover{aspect-ratio:16/10;min-height:0}.home-lower .event-feature-cover img{-webkit-mask-image:linear-gradient(#000 0% 48%,#000000c7 70%,#0000 100%);mask-image:linear-gradient(#000 0% 48%,#000000c7 70%,#0000 100%)}.event-feature-copy{gap:8px;min-height:0;padding:18px 18px 56px}.event-feature-date{font-size:12px}.home-lower .event-feature-copy h3{letter-spacing:-.04em;word-break:keep-all;overflow-wrap:normal;line-break:strict;text-wrap:pretty;max-width:none;margin:0;font-size:clamp(1.25rem,6vw,1.7rem);line-height:1.12}.event-feature-copy .lower-meta{word-break:keep-all;overflow-wrap:anywhere;font-size:12px;line-height:1.4}.event-feature-arrow{width:40px;height:40px;font-size:18px;bottom:16px;right:16px}.lower-events{padding-top:40px;padding-bottom:48px}.lower-events>.lower-heading{margin-bottom:10px;display:block}.lower-events>.lower-heading>div{margin-bottom:0}.lower-events .section-title{color:var(--foreground);letter-spacing:-.04em;text-transform:none;font-size:clamp(1.4rem,6.2vw,1.85rem);line-height:1.1}.event-list{gap:0}.home-lower .event-list-card{grid-template-columns:56px minmax(0,1fr);align-items:start;column-gap:14px;min-width:0;min-height:0;padding:18px 0;display:grid;overflow:visible}.home-lower .event-list-date{width:auto;min-width:0;padding-top:2px}.home-lower .event-list-date span,.home-lower .event-list-date small{letter-spacing:.02em;font-size:10px}.home-lower .event-list-date strong{letter-spacing:-.05em;margin:6px 0 4px;font-size:28px}.home-lower .event-list-body{min-width:0}.home-lower .event-list-card h3{letter-spacing:-.02em;word-break:keep-all;overflow-wrap:normal;line-break:strict;text-wrap:pretty;margin:0 0 6px;font-size:clamp(1.05rem,4.4vw,1.2rem);line-height:1.25}.home-lower .event-list-card .lower-meta{word-break:keep-all;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.home-lower .event-list-cover{display:none}.site-footer-inner{grid-template-columns:1fr;gap:36px;padding-top:48px}.site-footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}.site-footer-bottom{flex-direction:column;align-items:flex-start;gap:10px}}@media (max-width:360px){.home-lower{width:min(100% - 28px,1224px)}.home-lower .post-list-copy h3,.archive-page .post-list:not(.post-list--rows):not(.post-list--research) .post-list-copy h3,.post-list--rows .post-list-copy h3{letter-spacing:-.015em;font-size:.98rem;line-height:1.4}.home-lower .post-list-art,.archive-page .post-list:not(.post-list--rows) .post-list-art,.post-list--rows .post-list-art{aspect-ratio:3/2}.post-list:not(.post-list--rows):not(.post-list--research) .post-list-card:only-child .post-list-art{aspect-ratio:40/21}.post-list-excerpt{font-size:12.5px}.post-list-tags{font-size:11px}.home-lower .event-list-card{grid-template-columns:48px minmax(0,1fr);column-gap:12px;padding:16px 0}.home-lower .event-list-date strong{font-size:24px}.home-lower .event-list-card h3{font-size:1.02rem}}.vy-chat{flex-direction:column;gap:14px;margin:28px 0;display:flex}.vy-bubble{--vy-bubble-name-line:18px;flex-direction:row;align-items:flex-start;gap:10px;max-width:min(80%,42rem);display:flex}.vy-bubble[data-from=a]{align-self:flex-start}.vy-bubble[data-from=q]{flex-direction:row-reverse;align-self:flex-end}.vy-chat .vy-bubble-avatar,.prose.prose .vy-bubble-avatar{width:40px;height:40px;margin:calc(var(--vy-bubble-name-line) + 4px) 0 0;box-shadow:none;object-fit:contain;background:0 0;border-radius:0;outline:none;flex:none;display:block;border:0!important}.vy-bubble-content{flex-direction:column;gap:4px;min-width:0;display:flex}.vy-bubble[data-from=a] .vy-bubble-content{align-items:flex-start}.vy-bubble[data-from=q] .vy-bubble-content{align-items:flex-end}.vy-bubble-name{font-size:.75rem;line-height:var(--vy-bubble-name-line);color:var(--muted);padding:0 6px}.vy-bubble-body{border-radius:calc(var(--radius) * .65);overflow-wrap:break-word;word-break:keep-all;line-break:strict;padding:10px 16px;line-height:1.6}.vy-bubble-body>p{margin:0}.vy-bubble-body>p+p,.vy-bubble-body>ul,.vy-bubble-body>ol{margin-top:.5em}.vy-bubble[data-from=a] .vy-bubble-body{background:var(--vy-green-pale);border-bottom-left-radius:6px}.vy-bubble[data-from=q] .vy-bubble-body{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.vy-bubble[data-from=q] .vy-bubble-body{background:color-mix(in srgb, var(--foreground) 6%, transparent)}}.vy-bubble[data-from=q] .vy-bubble-body{border-bottom-right-radius:6px}.vy-bubble[data-from=a]+.vy-bubble[data-from=a],.vy-bubble[data-from=q]+.vy-bubble[data-from=q]{margin-top:-6px}.vy-bubble[data-from=a]:not([data-explicit-speaker])+.vy-bubble[data-from=a]:not([data-explicit-speaker]) .vy-bubble-name,.vy-bubble[data-from=q]:not([data-explicit-speaker])+.vy-bubble[data-from=q]:not([data-explicit-speaker]) .vy-bubble-name{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.vy-bubble[data-from=a]+.vy-bubble[data-from=a]>.vy-bubble-avatar,.vy-bubble[data-from=q]+.vy-bubble[data-from=q]>.vy-bubble-avatar{visibility:hidden;margin:0}.vy-figure{margin:32px 0}.vy-figure img,.prose .vy-figure img{aspect-ratio:16/9;object-fit:cover;object-position:center;border-radius:calc(var(--radius) * .65);width:100%;height:auto;margin:0;display:block}.vy-figure figcaption{color:var(--muted);text-align:center;margin-top:4px;font-size:.8rem}.vy-diagram{--diagram-primary:var(--vy-green);--diagram-primary-soft:var(--diagram-primary)}@supports (color:color-mix(in lab, red, red)){.vy-diagram{--diagram-primary-soft:color-mix(in srgb, var(--diagram-primary) 16%, var(--background))}}.vy-diagram{--diagram-primary-mid:var(--diagram-primary)}@supports (color:color-mix(in lab, red, red)){.vy-diagram{--diagram-primary-mid:color-mix(in srgb, var(--diagram-primary) 42%, transparent)}}.vy-diagram{--diagram-primary-ink:var(--diagram-primary)}@supports (color:color-mix(in lab, red, red)){.vy-diagram{--diagram-primary-ink:color-mix(in srgb, var(--diagram-primary) 62%, var(--foreground))}}.vy-diagram{margin:1.85em 0}.prose.blog-post-prose .vy-diagram p,.prose .vy-diagram p{margin:0}.prose.blog-post-prose .vy-diagram ol,.prose.blog-post-prose .vy-diagram ul,.prose .vy-diagram ol,.prose .vy-diagram ul{margin:0;padding-left:0;list-style:none}.prose.blog-post-prose .vy-diagram li,.prose .vy-diagram li{margin:0}.vy-diagram figcaption{color:var(--muted);margin-top:.7rem;font-size:.84rem;line-height:1.5}.vy-diagram-pills{flex-wrap:wrap;gap:.35rem;margin-top:.65rem;display:flex}.vy-diagram-pill{border:1px solid var(--foreground);align-items:center;padding:.18rem .55rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.vy-diagram-pill{border:1px solid color-mix(in srgb, var(--foreground) 14%, transparent)}}.vy-diagram-pill{color:var(--ink-soft);font-variant-numeric:tabular-nums;background:0 0;border-radius:999px;font-size:.74rem;line-height:1.3}.vy-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1.5rem;display:grid}.vy-compare-side{min-width:0}.vy-compare-head{margin-bottom:.75rem}.vy-compare-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.4rem;margin:0 0 .3rem;font-size:.72rem;font-weight:650;display:inline-flex}.vy-compare-dot{background:var(--foreground);border-radius:999px;width:.5rem;height:.5rem}@supports (color:color-mix(in lab, red, red)){.vy-compare-dot{background:color-mix(in srgb, var(--foreground) 34%, transparent)}}.vy-compare-side[data-side=right] .vy-compare-dot{background:var(--diagram-primary)}.vy-compare-title{color:var(--foreground);margin:0;font-size:1rem;font-weight:650;line-height:1.35}.vy-compare-stack{gap:.5rem;display:grid}.vy-compare-layer{background:var(--foreground);border:0;border-radius:10px;padding:.7rem .85rem}@supports (color:color-mix(in lab, red, red)){.vy-compare-layer{background:color-mix(in srgb, var(--foreground) 6%, var(--background))}}.vy-compare-layer[data-tone=warm]{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.vy-compare-layer[data-tone=warm]{background:color-mix(in srgb, var(--foreground) 10%, var(--background))}}.vy-compare-layer[data-tone=warm]{color:var(--foreground);box-shadow:inset 0 0 0 1px var(--foreground)}@supports (color:color-mix(in lab, red, red)){.vy-compare-layer[data-tone=warm]{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--foreground) 12%, transparent)}}.vy-compare-layer[data-tone=muted]{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.vy-compare-layer[data-tone=muted]{background:color-mix(in srgb, var(--foreground) 6.5%, var(--background))}}.vy-compare-layer[data-tone=muted]{color:var(--ink-soft)}.vy-compare-layer[data-tone=accent]{background:var(--diagram-primary-soft);color:var(--diagram-primary-ink)}.vy-compare-layer[data-tone=dashed]{border:1.5px dashed var(--diagram-primary-mid);color:var(--diagram-primary-ink);background:0 0}.vy-compare-layer-title{margin:0;font-size:.9rem;font-weight:600;line-height:1.35}.vy-compare-layer-body{opacity:.82;margin:.22rem 0 0;font-size:.8rem;line-height:1.4}.vy-compare-side .vy-diagram-pill{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.vy-compare-side .vy-diagram-pill{border-color:color-mix(in srgb, var(--foreground) 12%, transparent)}}.vy-compare-side .vy-diagram-pill{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.vy-compare-side .vy-diagram-pill{background:color-mix(in srgb, var(--background) 70%, transparent)}}.vy-flow-track{padding:0;flex-wrap:nowrap;align-items:stretch;gap:0;margin:0;padding-inline-start:0;list-style:none;display:flex;overflow-x:auto}.vy-flow-item{flex:1 1 0;align-items:stretch;min-width:0;display:flex}.vy-flow-arrow{color:var(--diagram-primary);flex:0 0 1.6rem;place-items:center;font-size:1rem;font-weight:600;display:grid}.vy-flow-step{background:var(--foreground);border:0;border-radius:12px;align-content:start;gap:.35rem;width:100%;min-width:8.5rem;padding:.85rem .9rem;display:grid}@supports (color:color-mix(in lab, red, red)){.vy-flow-step{background:color-mix(in srgb, var(--foreground) 6%, var(--background))}}.vy-flow-step[data-tone=outline]{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.vy-flow-step[data-tone=outline]{background:color-mix(in srgb, var(--background) 92%, transparent)}}.vy-flow-step[data-tone=outline]{box-shadow:inset 0 0 0 1.5px var(--diagram-primary-mid)}.vy-flow-step[data-tone=accent]{background:var(--diagram-primary-soft);color:var(--diagram-primary-ink)}.vy-flow-step[data-tone=muted]{background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.vy-flow-step[data-tone=muted]{background:color-mix(in srgb, var(--foreground) 6%, var(--background))}}.vy-flow-step-title{color:var(--foreground);margin:0;font-size:.92rem;font-weight:650;line-height:1.3}.vy-flow-step-body{color:var(--ink-soft);margin:0;font-size:.8rem;line-height:1.4}.vy-flow-step .vy-diagram-pills{margin-top:.25rem}.vy-flow-step[data-tone=outline] .vy-diagram-pill{border-color:var(--diagram-primary-mid);color:var(--diagram-primary-ink)}.vy-flow-step[data-tone=accent] .vy-flow-step-title{color:var(--diagram-primary-ink)}.vy-flow-notes{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.65rem;margin-top:.85rem;display:grid}.vy-flow-note{background:var(--foreground);border-radius:12px;align-content:start;gap:.45rem;min-width:0;padding:.75rem .85rem;display:grid}@supports (color:color-mix(in lab, red, red)){.vy-flow-note{background:color-mix(in srgb, var(--foreground) 4.5%, var(--background))}}.vy-flow-note{box-shadow:inset 0 0 0 1px var(--foreground)}@supports (color:color-mix(in lab, red, red)){.vy-flow-note{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--foreground) 8%, transparent)}}.vy-flow-note-title{letter-spacing:.02em;color:var(--foreground);margin:0;font-size:.78rem;font-weight:650;line-height:1.3}.vy-flow-note-list{color:var(--ink-soft);gap:.28rem;margin:0;padding:0;font-size:.82rem;line-height:1.4;list-style:none;display:grid}.vy-flow-note-list li{padding-left:.9rem;position:relative}.vy-flow-note-list li:before{content:"";background:var(--diagram-primary);border-radius:999px;width:.28rem;height:.28rem;position:absolute;top:.48em;left:0}@supports (color:color-mix(in lab, red, red)){.vy-flow-note-list li:before{background:color-mix(in srgb, var(--diagram-primary) 70%, var(--foreground))}}.vy-results-layout{grid-template-columns:minmax(0,1fr);gap:.75rem;display:grid}.vy-results-chart{min-width:0;box-shadow:none;background:0 0;border-radius:0;padding:0 0 .15rem}.vy-results-title{color:var(--foreground);margin:0 0 .75rem;font-size:.95rem;font-weight:650}.vy-results-series-list{gap:1rem;display:grid}.vy-results-series-title{color:var(--muted);margin:0 0 .45rem;font-size:.8rem;font-weight:600}.vy-results-rows{gap:.45rem;display:grid}.vy-results-row{grid-template-columns:5rem minmax(0,1fr) 3rem;align-items:center;gap:.55rem;display:grid}.vy-results-row-label,.vy-results-row-value{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.8rem;line-height:1.3}.vy-results-row-value{text-align:right;color:var(--foreground);font-weight:600}.vy-results-bar-track{background:var(--foreground);border-radius:999px;height:.7rem;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.vy-results-bar-track{background:color-mix(in srgb, var(--foreground) 8%, transparent)}}.vy-results-bar-fill{border-radius:inherit;background:var(--foreground);height:100%;display:block}@supports (color:color-mix(in lab, red, red)){.vy-results-bar-fill{background:color-mix(in srgb, var(--foreground) 26%, transparent)}}.vy-results-bar-fill[data-tone=accent]{background:var(--diagram-primary)}.vy-results-legend{flex-wrap:wrap;gap:.55rem .95rem;margin-top:.9rem;display:flex}.vy-results-legend-item{color:var(--muted);align-items:center;gap:.4rem;font-size:.76rem;display:inline-flex}.vy-results-legend-swatch{background:var(--foreground);border-radius:999px;width:.55rem;height:.55rem}@supports (color:color-mix(in lab, red, red)){.vy-results-legend-swatch{background:color-mix(in srgb, var(--foreground) 28%, transparent)}}.vy-results-legend-swatch[data-tone=accent]{background:var(--diagram-primary)}.vy-results-stat:first-child .vy-results-stat-value{color:var(--diagram-primary)}.vy-results-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.vy-results-stat{background:var(--foreground);border-radius:10px;align-content:start;gap:.68rem;min-width:0;padding:.75rem;display:grid}@supports (color:color-mix(in lab, red, red)){.vy-results-stat{background:color-mix(in srgb, var(--foreground) 3.5%, var(--background))}}.vy-results-stat{box-shadow:inset 0 0 0 1px var(--foreground)}@supports (color:color-mix(in lab, red, red)){.vy-results-stat{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--foreground) 8%, transparent)}}.vy-results-stat-label,.vy-results-stat-hint{color:var(--muted);margin:0;font-size:.7rem;line-height:1.25}.vy-results-stat-value{letter-spacing:-.02em;color:var(--foreground);font-variant-numeric:tabular-nums;margin:0;font-size:1.2rem;font-weight:700;line-height:1.05}@media (max-width:720px){.vy-compare-grid,.vy-flow-notes{grid-template-columns:1fr}.vy-flow-track{flex-wrap:wrap}.vy-flow-item{flex:100%}.vy-flow-arrow{display:none}.vy-results-row{grid-template-columns:4.5rem minmax(0,1fr) 2.8rem}}@media (max-width:520px){.vy-results-stats{grid-template-columns:1fr}}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}
