.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.sign-hold[data-astro-cid-oguxczbw]{position:fixed;inset:0;width:100%;height:100%;min-height:100dvh;z-index:var(--z-hold);display:grid;place-items:center;background:var(--bg);color:var(--accent);isolation:isolate;overflow:hidden;pointer-events:auto;transition:opacity var(--sign-fade, .28s) var(--ease-out)}.stage[data-astro-cid-oguxczbw]{width:min(96vw,1120px);display:flex;flex-direction:column;align-items:center;gap:clamp(20px,4vh,40px)}.name[data-astro-cid-oguxczbw]{display:flex;justify-content:center;font-family:var(--font-display);font-size:clamp(1.75rem,4.6vw,3rem);font-weight:var(--weight-ui);letter-spacing:var(--track-brand);color:var(--fg);line-height:1}.name[data-astro-cid-oguxczbw] .ch[data-astro-cid-oguxczbw]{white-space:pre}.board[data-astro-cid-oguxczbw]{position:relative;width:100%;aspect-ratio:650 / 200}.key[data-astro-cid-oguxczbw]{position:absolute;width:auto;height:auto;display:flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid oklch(1 0 0 / .14);border-radius:11%;color:#ffffff47;font-family:var(--font-display);font-size:clamp(8px,1.35vw,13px);font-weight:var(--weight-label);background:transparent}.route-svg[data-astro-cid-oguxczbw]{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.route[data-astro-cid-oguxczbw]{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}html:not(.sign-hold-up) .sign-hold[data-astro-cid-oguxczbw],html:not(.sign-hold-up) .sign-hold[data-astro-cid-oguxczbw] [data-astro-cid-oguxczbw]{pointer-events:none}.sign-hold[data-astro-cid-oguxczbw].is-armed,html.motion-static .sign-hold[data-astro-cid-oguxczbw]{opacity:0;pointer-events:none}.sign-hold[data-astro-cid-oguxczbw].is-armed [data-astro-cid-oguxczbw],html.motion-static .sign-hold[data-astro-cid-oguxczbw] [data-astro-cid-oguxczbw]{pointer-events:none}.sign-hold[data-astro-cid-oguxczbw][data-replayed="1"],.sign-hold[data-astro-cid-oguxczbw][data-replayed="1"] [data-astro-cid-oguxczbw]{visibility:hidden;pointer-events:none}html.motion-live .sign-hold[data-astro-cid-oguxczbw] .route[data-astro-cid-oguxczbw]{animation:sign-hold-draw var(--sign-ms) linear both}html.motion-live .sign-hold[data-astro-cid-oguxczbw] .name[data-astro-cid-oguxczbw] .ch[data-astro-cid-oguxczbw]{animation:sign-hold-ch 90ms var(--ease-out) var(--delay, 0ms) both}html.motion-live .sign-hold[data-astro-cid-oguxczbw] .key[data-astro-cid-oguxczbw].is-hit{animation:sign-hold-key .18s var(--ease-out) var(--delay, 0ms) both}html.is-home.sign-hold-up [data-chrome]{visibility:hidden}@keyframes sign-hold-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes sign-hold-ch{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@keyframes sign-hold-key{0%{background:transparent;border-color:#ffffff24;color:#ffffff47}to{background:#ffffff14;border-color:var(--accent);color:var(--fg)}}@media(prefers-reduced-motion:reduce){.sign-hold[data-astro-cid-oguxczbw],.route[data-astro-cid-oguxczbw],.name[data-astro-cid-oguxczbw] .ch[data-astro-cid-oguxczbw],.key[data-astro-cid-oguxczbw]{animation:none}.sign-hold[data-astro-cid-oguxczbw]{opacity:0;transition:none}}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/spectral-400-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/spectral-400-italic-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/spectral-400-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/spectral-400-normal-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}:root{color-scheme:only dark;--bg: oklch(0 0 0);--fg: oklch(.97 0 0);--muted: oklch(.68 0 0);--faint: oklch(.5 0 0);--line: oklch(1 0 0 / .1);--hover: oklch(1 0 0 / .08);--radius-control: 8px;--accent: oklch(.82 .04 85);--bloom: oklch(.74 .1 58);--font-display: "Geist", ui-sans-serif, sans-serif;--font-body: "Spectral", Georgia, "Iowan Old Style", serif;--label-size: 12px;--label-tracking: .12em;--weight-label: 400;--weight-ui: 450;--weight-strong: 500;--weight-hover: 560;--track-title: -.04em;--track-brand: .06em;--track-body: .006em;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--ease-nights: cubic-bezier(.4, 0, .2, 1);--mark-top: -4vh;--mark-right: -14vw;--mark-width: min(70vw, 920px);--duration-hover: .15s;--duration-press: 0ms;--duration-enter: .4s;--duration-vt: 0ms;--page-gutter: clamp(20px, 5.5vw, 88px);--chrome-h: 52px;--step-display: clamp(2.2rem, 6.4vw, 4.6rem);--step-title: clamp(2rem, 5vw, 3.5rem);--step-subhead: clamp(1.25rem, 2.2vw, 1.6rem);--step-lede: clamp(17px, 1.6vw, 20px);--step-row: clamp(1.05rem, 1.5vw, 1.25rem);--step-metric: clamp(1.35rem, 2vw, 1.85rem);--step-support: 15px;--step-ui: 16px;--step-dek: clamp(18px, .4vw + 16px, 20px);--step-prose: clamp(18px, .5vw + 17px, 21px);--gap-1: 6px;--gap-2: 8px;--gap-3: 16px;--gap-4: clamp(24px, 3.2vh, 36px);--gap-5: clamp(36px, 5vh, 56px);--measure: 45rem;--z-horizon: 0;--z-content: 1;--z-chrome: 20;--z-hold: 110}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);color:var(--fg);overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--line) var(--bg)}html:not(.is-home){scroll-padding-top:4.75rem}@media(min-width:720px)and (min-height:680px){html.is-home,html.is-home body{overflow-y:clip}}body{min-height:100svh;background:var(--bg);color:var(--fg);font-family:var(--font-display);font-size:var(--step-ui);font-weight:var(--weight-label);line-height:1.55;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-wrap:break-word}::selection{background:color-mix(in oklab,var(--accent) 28%,transparent);color:var(--fg)}.skip{position:absolute;left:var(--page-gutter);top:10px;z-index:100;padding:8px 12px;background:var(--bg);color:var(--fg);text-decoration:none;transform:translateY(-160%);transition:transform var(--duration-press) var(--ease-out)}.skip:focus{transform:none}a{color:inherit;text-decoration-thickness:from-font;text-underline-offset:.2em;text-decoration-color:color-mix(in oklab,var(--accent) 45%,transparent);transition:color var(--duration-hover) var(--ease-nights),text-decoration-color var(--duration-hover) var(--ease-nights)}@media(hover:hover)and (pointer:fine){a:hover{color:var(--accent);text-decoration-color:var(--accent)}}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}img{max-width:100%;height:auto}.content-body{font-family:var(--font-body);font-size:var(--step-prose);line-height:1.8;letter-spacing:var(--track-body);max-width:min(var(--measure),100%);width:100%;color:var(--fg);hanging-punctuation:first last}.content-body>h1:first-child+*{margin-top:0}.content-body p{margin-bottom:1.4em;text-wrap:pretty;orphans:3;widows:3}.content-body p:last-child{margin-bottom:0}.content-body p:empty{display:none}.content-body p:has(>img:only-child),.content-body p:has(>img:only-child)+p:has(>img:only-child){margin-bottom:0}.content-body h2,.content-body h3{font-family:var(--font-display);font-weight:var(--weight-ui);letter-spacing:var(--track-title);text-wrap:balance;color:var(--fg)}.content-body h1{display:none}.content-body h2{font-size:var(--step-subhead);line-height:1.2;margin:2.75em 0 .7em}.content-body h3{font-size:var(--step-row);line-height:1.3;margin:2.05em 0 .5em;color:color-mix(in oklab,var(--fg) 88%,var(--muted))}.content-body h2+h3{margin-top:1.15em}.content-body p:has(>img:only-child)+h2{margin-top:1.85em}.content-body ul,.content-body ol{padding:.15em 0 1.4em 1.35em}.content-body li{margin-bottom:.55em}.content-body li::marker{color:var(--faint)}.content-body li>p{margin-bottom:.55em}.content-body a{color:var(--accent)}.content-body strong,.content-body b{font-synthesis:weight;font-weight:600}.content-body blockquote{border-inline-start:1px solid var(--line);padding-inline-start:1.2rem;margin:2.1rem 0;font-style:italic;color:var(--muted)}.content-body blockquote p{margin-bottom:.85em}.content-body blockquote p:last-child{margin-bottom:0}.content-body hr{border:0;height:0;margin:2.6em 0;border-top:1px solid var(--line)}.content-body img{outline:1px solid var(--line);outline-offset:-1px;margin:2.4em 0;width:100%;height:auto;display:block}.content-body p:has(>img:only-child) img{margin-top:.15em}.content-body>h1+p:has(>img:only-child) img{margin-top:0}.content-body table{width:100%;border-collapse:collapse;font-family:var(--font-display);font-size:var(--step-support);line-height:1.4;letter-spacing:0;margin:1.6em 0 2.4em;font-variant-numeric:tabular-nums}.content-body th{font-size:var(--label-size);letter-spacing:var(--label-tracking);text-transform:uppercase;font-weight:var(--weight-label);color:var(--faint);text-align:start;padding:.65em .9em .65em 0;border-bottom:1px solid var(--line)}.content-body td{padding:.8em .9em .8em 0;border-bottom:1px solid var(--line);vertical-align:top}.content-body tr:last-child td{border-bottom:0}::view-transition-old(root),::view-transition-new(root),::view-transition-old(chrome),::view-transition-new(chrome),::view-transition-old(horizon),::view-transition-new(horizon),::view-transition-old(glyph),::view-transition-new(glyph),::view-transition-group(root),::view-transition-group(chrome),::view-transition-group(horizon),::view-transition-group(glyph){animation-duration:var(--duration-vt);animation-delay:0s;animation-timing-function:var(--ease-out)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a,button{transition:none}::view-transition-old(root),::view-transition-new(root),::view-transition-old(chrome),::view-transition-new(chrome),::view-transition-old(horizon),::view-transition-new(horizon),::view-transition-old(glyph),::view-transition-new(glyph){animation:none!important}}@media(max-width:720px){:root{--step-dek: 18px;--step-prose: 18px}}@media(max-height:920px)and (min-width:721px){:root{--step-display: clamp(2rem, 5.6vw, 3.4rem);--step-metric: clamp(1.2rem, 1.7vw, 1.55rem)}}@media(max-width:740px){:root{--mark-top: 4.5rem;--mark-right: -22%;--mark-width: min(58%, 240px)}}@media(max-width:420px){:root{--mark-top: 3.5rem;--mark-width: min(52%, 180px)}}[data-magnet]{position:relative;isolation:isolate}[data-magnet]:before{content:"";position:absolute;inset:4px 6px;pointer-events:none;z-index:-1;opacity:0;border-radius:var(--radius-control);background:var(--hover);transition:opacity var(--duration-hover) var(--ease-nights)}.site-nav [data-magnet]:before{inset:6px 4px}a[data-magnet]:active{transform:scale(.985)}.arrow,.row-arrow,.cta,.more-arrow{color:color-mix(in oklab,var(--accent) 80%,transparent);font-size:var(--step-ui);line-height:1;transition:color var(--duration-hover) var(--ease-nights),transform var(--duration-hover) var(--ease-nights)}.title,.row-title,.ttl{transition:font-weight var(--duration-hover) var(--ease-nights)}@keyframes fade-slide-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}html.motion-live.page-arrive.is-home .display .line,html.motion-live.page-arrive.is-home .lede,html.motion-live.page-arrive.is-home .intro,html.motion-live.page-arrive.is-home .close{animation:fade-slide-up var(--duration-enter) var(--ease-out) var(--enter-delay, 0ms) both}html.motion-live.page-arrive.is-home .display .line{--enter-delay: .2s}html.motion-live.page-arrive.is-home .lede,html.motion-live.page-arrive.is-home .intro{--enter-delay: .35s}html.motion-live.page-arrive.is-home .close{--enter-delay: 425ms}html.motion-live.page-arrive:not(.is-home) .page-head{animation:fade-slide-up var(--duration-enter) var(--ease-out) .2s both}html.motion-live.page-arrive:not(.is-home):not(.is-reading) main>:not(.page-head){animation:fade-slide-up var(--duration-enter) var(--ease-out) 275ms both}@keyframes read-open{0%{opacity:0;transform:translateY(10px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}html.motion-live.page-arrive.is-reading .page-head{animation:none}html.motion-live.page-arrive.is-reading .page-head h1{animation:read-open .48s var(--ease-out) 60ms both}html.motion-live.page-arrive.is-reading .page-head .meta{animation:fade-slide-up var(--duration-enter) var(--ease-out) .14s both}html.motion-live.page-arrive.is-reading .page-head .lede{animation:fade-slide-up var(--duration-enter) var(--ease-out) .2s both}html.motion-live.page-arrive.is-reading .reading,html.motion-live.page-arrive.is-reading [data-glyph]{animation:fade-slide-up var(--duration-enter) var(--ease-out) .26s both}@media(hover:hover)and (pointer:fine){[data-magnet]:hover:before{opacity:1}a[data-magnet]:hover .title,a[data-magnet]:hover .row-title,a[data-magnet]:hover .proof-facts,a[data-magnet]:hover .ttl{font-weight:var(--weight-hover)}a[data-magnet]:hover .arrow,a[data-magnet]:hover .row-arrow,a[data-magnet]:hover .more-arrow,a[data-magnet]:hover .cta{color:var(--accent)}a[data-magnet]:hover .arrow,a[data-magnet]:hover .row-arrow,a[data-magnet]:hover .more-arrow,a[data-magnet].is-next:hover .cta{transform:translate(3px)}a[data-magnet].is-prev:hover .cta{transform:translate(-3px)}a[data-magnet]:hover .row-date{color:var(--muted)}a[data-magnet].more:hover{font-weight:var(--weight-hover)}}@media(prefers-reduced-motion:reduce){a[data-magnet]:active{transform:none}[data-magnet]:before,.arrow,.row-arrow,.cta,.more-arrow{transition:none}html.page-arrive.is-home .display .line,html.page-arrive.is-home .lede,html.page-arrive.is-home .intro,html.page-arrive.is-home .close,html.page-arrive:not(.is-home) .page-head,html.page-arrive:not(.is-home) main>:not(.page-head),html.page-arrive.is-reading .page-head h1,html.page-arrive.is-reading .page-head .meta,html.page-arrive.is-reading .page-head .lede,html.page-arrive.is-reading .reading,html.page-arrive.is-reading [data-glyph]{animation:none}}[data-glyph]{position:fixed;inset:0;z-index:var(--z-horizon);width:100%;height:100%;pointer-events:none;overflow:hidden}[data-glyph] .mark{position:absolute;top:var(--mark-top);right:var(--mark-right);width:var(--mark-width);height:auto;opacity:1;transform:none;view-transition-name:glyph}[data-glyph].is-quiet .mark{top:7.5rem;right:-6vw;width:min(42vw,420px);opacity:.16}[data-glyph] .pass-trace path{stroke-dasharray:1;stroke-dashoffset:0}html.is-home [data-glyph]:not(.is-quiet) .mark{opacity:0;visibility:hidden}html.is-home.nights-gone [data-glyph]:not(.is-quiet) .mark,html.is-home.motion-static [data-glyph]:not(.is-quiet) .mark{opacity:1;visibility:visible}@media(max-width:740px){[data-glyph].is-quiet .mark{top:5rem;right:-18%;width:min(42%,180px);opacity:.12}}@media(prefers-reduced-motion:reduce){[data-glyph] .pass-bloom,[data-glyph] .pass-gold,[data-glyph] .pass-trace,[data-glyph] .pass-trace path{animation:none}[data-glyph] .pass-trace path{stroke-dashoffset:0}}.home-stage{position:relative;min-height:0;display:flex;flex-direction:column;padding-top:clamp(20px,4vh,48px)}.home-stage .rail{position:relative;z-index:1;min-width:0;display:flex;flex-direction:column;max-width:36rem}.home-stage .copy{max-width:100%}.home-stage .display{font-weight:var(--weight-strong);font-size:var(--step-display);line-height:1.03;letter-spacing:var(--track-title);text-wrap:balance;max-width:100%}.home-stage .line{display:block}.home-stage .lede{margin-top:var(--gap-4);max-width:32ch;color:var(--fg);font-size:var(--step-lede);line-height:1.4;letter-spacing:var(--track-title);text-wrap:pretty}.home-stage .intro{margin-top:var(--gap-4);max-width:52ch;color:color-mix(in oklab,var(--fg) 86%,var(--muted));font-size:var(--step-support);line-height:1.6;text-wrap:pretty}.home-stage .intro a{display:inline-flex;align-items:center;gap:.4em;color:var(--fg);text-decoration-color:color-mix(in oklab,var(--accent) 70%,transparent)}.home-stage .close{position:relative;width:100%;margin-top:var(--gap-5)}.home-stage .proof-line{min-height:44px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;padding:14px 8px;margin-inline:-8px;width:calc(100% + 16px);text-decoration:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:inherit}.home-stage .proof-facts{min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 2px;font-family:var(--font-display);font-size:var(--step-row);font-weight:var(--weight-ui);line-height:1.25;letter-spacing:var(--track-title);font-variant-numeric:tabular-nums;color:var(--fg)}.home-stage .sep{padding-inline:4px;color:color-mix(in oklab,var(--accent) 62%,transparent)}@media(hover:hover)and (pointer:fine){.home-stage .intro a:hover{color:var(--accent)}}.home-thoughts{position:relative;margin-top:0;width:100%;min-width:0}.home-thoughts .heading{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.home-thoughts .rows{list-style:none}.home-thoughts .row{border-bottom:1px solid var(--line)}.home-thoughts .row-link{min-height:44px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px 16px;padding:14px 8px;margin-inline:-8px;width:calc(100% + 16px);text-decoration:none;min-width:0}.home-thoughts .row-cell{min-width:0}.home-thoughts .row-title{margin:0;font-family:var(--font-display);font-size:var(--step-row);font-weight:var(--weight-ui);line-height:1.25;letter-spacing:var(--track-title);color:var(--fg);text-wrap:pretty;overflow-wrap:break-word}.home-thoughts .row-date{font-family:var(--font-display);font-size:var(--label-size);letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--faint);font-variant-numeric:tabular-nums;white-space:nowrap}.home-thoughts .more{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:12px 8px;margin-inline:-8px;font-family:var(--font-display);font-size:var(--label-size);font-weight:var(--weight-label);letter-spacing:var(--label-tracking);text-transform:uppercase;text-decoration:none;color:color-mix(in oklab,var(--fg) 72%,var(--muted))}@media(max-width:560px){.home-thoughts .row-link{grid-template-columns:minmax(0,1fr) auto}.home-thoughts .row-date{grid-column:1}.home-thoughts .row-arrow{grid-column:2;grid-row:1 / span 2;align-self:center}}.nights[data-astro-cid-qmyw2y3n]{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;opacity:0;transition:none}html.nights-live .nights[data-astro-cid-qmyw2y3n]{opacity:1}@media(prefers-reduced-motion:reduce){.nights[data-astro-cid-qmyw2y3n]{transition:none}}@media(forced-colors:active){.nights[data-astro-cid-qmyw2y3n]{display:none}}.horizon[data-astro-cid-uxhnsgwd]{position:fixed;inset:0;z-index:var(--z-horizon);pointer-events:none;overflow:hidden;background:var(--bg);view-transition-name:horizon}.bloom[data-astro-cid-uxhnsgwd],.bloom-inner[data-astro-cid-uxhnsgwd]{position:absolute;left:50%;transform:translate(-50%)}.bloom[data-astro-cid-uxhnsgwd]{bottom:-18%;width:150vw;height:62vh;background:radial-gradient(ellipse at 50% 100%,oklch(.74 .1 58 / .22) 0%,oklch(.55 .06 58 / .08) 38%,transparent 68%);opacity:.55}.bloom-inner[data-astro-cid-uxhnsgwd]{bottom:-6%;width:72vw;height:28vh;background:radial-gradient(ellipse at 50% 100%,oklch(.74 .16 58 / .32) 0%,oklch(.62 .12 58 / .1) 40%,transparent 70%);opacity:.18}.horizon[data-astro-cid-uxhnsgwd][data-home="1"] .bloom[data-astro-cid-uxhnsgwd]{background:radial-gradient(ellipse at 50% 100%,oklch(.88 .015 250 / .1) 0%,oklch(.5 .01 250 / .04) 40%,transparent 68%)}.horizon[data-astro-cid-uxhnsgwd][data-home="1"] .bloom-inner[data-astro-cid-uxhnsgwd]{background:radial-gradient(ellipse at 50% 100%,oklch(.9 .012 250 / .1) 0%,oklch(.55 .008 250 / .03) 42%,transparent 70%)}.horizon-live[data-astro-cid-uxhnsgwd] .bloom[data-astro-cid-uxhnsgwd]{animation:horizon-breathe 16s var(--ease-in-out) infinite alternate}.horizon-live[data-astro-cid-uxhnsgwd] .bloom-inner[data-astro-cid-uxhnsgwd]{animation:horizon-breathe-inner 22s var(--ease-in-out) -8s infinite alternate}@keyframes horizon-breathe{0%{opacity:.5;transform:translate(-50%) scale(1)}to{opacity:.74;transform:translate(-50%) scale(1.03)}}@keyframes horizon-breathe-inner{0%{opacity:.12;transform:translate(-50%) scale(1)}to{opacity:.22;transform:translate(-50%) scale(1.04)}}.horizon[data-astro-cid-uxhnsgwd]:after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.025;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:160px 160px}@media(forced-colors:active){.horizon[data-astro-cid-uxhnsgwd]:after{content:none}}@media(prefers-reduced-motion:reduce){.horizon-live[data-astro-cid-uxhnsgwd] .bloom[data-astro-cid-uxhnsgwd],.horizon-static[data-astro-cid-uxhnsgwd] .bloom[data-astro-cid-uxhnsgwd],.horizon-live[data-astro-cid-uxhnsgwd] .bloom-inner[data-astro-cid-uxhnsgwd],.horizon-static[data-astro-cid-uxhnsgwd] .bloom-inner[data-astro-cid-uxhnsgwd]{animation:none}.bloom[data-astro-cid-uxhnsgwd]{opacity:.55}.bloom-inner[data-astro-cid-uxhnsgwd]{opacity:.18}}.actions[data-astro-cid-dnws2zpb]{display:flex;align-items:center;margin-left:auto;font-family:var(--font-display);font-size:var(--label-size);letter-spacing:var(--label-tracking)}.email[data-astro-cid-dnws2zpb]{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding-inline:2px;flex-shrink:0;min-width:max-content;white-space:nowrap;text-decoration:none;color:var(--muted);transition:color var(--duration-hover) var(--ease-nights),font-weight var(--duration-hover) var(--ease-nights),transform var(--duration-press) var(--ease-out)}.email[data-astro-cid-dnws2zpb]:active{transform:scale(.97)}@media(hover:hover)and (pointer:fine){.email[data-astro-cid-dnws2zpb]:hover{color:var(--fg);font-weight:var(--weight-hover)}}@media(prefers-reduced-motion:reduce){.email[data-astro-cid-dnws2zpb]{transition:none}.email[data-astro-cid-dnws2zpb]:active{transform:none}}.personal-mark[data-astro-cid-bcdixxyp]{display:block;width:1em;height:1em;overflow:visible}.disc[data-astro-cid-bcdixxyp]{fill:var(--bg)}.ring[data-astro-cid-bcdixxyp]{fill:none;stroke:currentColor;stroke-width:1.5px;vector-effect:non-scaling-stroke}.trace[data-astro-cid-bcdixxyp]{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;opacity:0}.ink[data-astro-cid-bcdixxyp]{fill:currentColor}html.motion-live .mark:not(.is-restarting) .trace[data-astro-cid-bcdixxyp]{animation:mark-trace var(--sign-ms) linear both,mark-trace-hide .2s var(--ease-out) var(--sign-ms) both}html.motion-live .mark:not(.is-restarting) .ink[data-astro-cid-bcdixxyp]{animation:mark-ink .2s var(--ease-out) var(--sign-ms) both}@keyframes mark-trace{0%{stroke-dashoffset:1;opacity:1}to{stroke-dashoffset:0;opacity:1}}@keyframes mark-trace-hide{0%{opacity:1}to{opacity:0}}@keyframes mark-ink{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.trace[data-astro-cid-bcdixxyp],.ink[data-astro-cid-bcdixxyp]{animation:none}.trace[data-astro-cid-bcdixxyp]{opacity:0}}html:not(.motion-live) .trace[data-astro-cid-bcdixxyp],html:not(.motion-live) .ink[data-astro-cid-bcdixxyp]{animation:none}html:not(.motion-live) .trace[data-astro-cid-bcdixxyp]{opacity:0}.site-nav[data-astro-cid-4lunwx2e]{position:sticky;top:0;z-index:var(--z-chrome);display:flex;align-items:center;gap:clamp(16px,2vw,32px);min-height:var(--chrome-h);padding-block:6px;background:transparent;border-bottom:1px solid transparent;view-transition-name:chrome;transition:background-color var(--duration-hover) var(--ease-nights),border-color var(--duration-hover) var(--ease-nights)}.site-nav[data-astro-cid-4lunwx2e][data-floating]{background:var(--bg);border-bottom-color:var(--line)}html:not(.is-home) .site-nav[data-astro-cid-4lunwx2e]{background:var(--bg);border-bottom-color:var(--line)}.mark[data-astro-cid-4lunwx2e]{font-family:var(--font-display);font-size:var(--label-size);font-weight:var(--weight-ui);letter-spacing:var(--track-brand);text-decoration:none;color:var(--fg);min-height:44px;padding-inline:10px;margin-inline:-10px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:color var(--duration-hover) var(--ease-nights),font-weight var(--duration-hover) var(--ease-nights),transform var(--duration-press) var(--ease-out)}.mark-symbol[data-astro-cid-4lunwx2e]{display:inline-flex;color:var(--accent);font-size:26px}.brand-name[data-astro-cid-4lunwx2e]{display:inline-flex;gap:0}.brand-name[data-astro-cid-4lunwx2e] .ch[data-astro-cid-4lunwx2e]{white-space:pre}html.motion-live .mark[data-astro-cid-4lunwx2e]:not(.is-restarting) .brand-name[data-astro-cid-4lunwx2e] .ch[data-astro-cid-4lunwx2e]{animation:brand-ch 90ms var(--ease-out) var(--delay, 0ms) both}@keyframes brand-ch{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.mark[data-astro-cid-4lunwx2e]:active{transform:scale(.97)}.mark[data-astro-cid-4lunwx2e][aria-current=page]{color:var(--fg)}@media(hover:hover)and (pointer:fine){.mark[data-astro-cid-4lunwx2e]:hover{color:var(--accent);font-weight:var(--weight-hover)}}@media(max-width:720px){.site-nav[data-astro-cid-4lunwx2e]{flex-wrap:nowrap;gap:8px}.mark[data-astro-cid-4lunwx2e]{padding-inline:6px;margin-inline:-6px}}@media(prefers-reduced-motion:reduce){.site-nav[data-astro-cid-4lunwx2e],.mark[data-astro-cid-4lunwx2e]{transition:none}.mark[data-astro-cid-4lunwx2e]:active{transform:none}.brand-name[data-astro-cid-4lunwx2e] .ch[data-astro-cid-4lunwx2e],[data-personal-mark] .trace,[data-personal-mark] .ink{animation:none}}html:not(.motion-live) .site-nav[data-astro-cid-4lunwx2e],html:not(.motion-live) .mark[data-astro-cid-4lunwx2e]{transition:none}html:not(.motion-live) .brand-name[data-astro-cid-4lunwx2e] .ch[data-astro-cid-4lunwx2e]{animation:none}@media print{.site-nav[data-astro-cid-4lunwx2e]{position:static}}.site-footer[data-astro-cid-gcn2mc3v]{position:relative;z-index:1;margin-top:var(--gap-5);flex-shrink:0}.elsewhere[data-astro-cid-gcn2mc3v]{display:flex;flex-wrap:wrap;align-items:center;gap:0 2px;color:color-mix(in oklab,var(--fg) 72%,var(--muted));font-family:var(--font-display);font-size:var(--label-size);letter-spacing:var(--label-tracking)}.elsewhere[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding-inline:8px;margin-inline:-8px;text-decoration:none;color:inherit;transition:color var(--duration-hover) var(--ease-nights),font-weight var(--duration-hover) var(--ease-nights)}.sep[data-astro-cid-gcn2mc3v]{padding-inline:4px;color:color-mix(in oklab,var(--accent) 62%,transparent)}@media(hover:hover)and (pointer:fine){.elsewhere[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]:hover{color:var(--fg);font-weight:var(--weight-hover)}}.frame[data-astro-cid-abzybht6]{position:relative;z-index:var(--z-content);min-height:100svh;display:flex;flex-direction:column;width:100%;max-width:100%;margin:0 auto;padding:0 var(--page-gutter, clamp(20px, 5vw, 80px)) clamp(28px,5vh,56px)}.frame[data-astro-cid-abzybht6].is-home{height:100svh;padding-bottom:clamp(20px,3vh,36px)}.frame[data-astro-cid-abzybht6].is-home main[data-astro-cid-abzybht6]{display:flex;flex-direction:column;flex:0 1 auto;min-height:0}.frame[data-astro-cid-abzybht6].is-wide main[data-astro-cid-abzybht6]{width:min(92rem,100%);max-width:100%}main[data-astro-cid-abzybht6]{flex:1 0 auto;min-width:0}.page-head[data-astro-cid-abzybht6]{padding:var(--gap-4) 0;max-width:min(52rem,100%)}.frame[data-astro-cid-abzybht6].is-reading main[data-astro-cid-abzybht6]{width:min(46rem,100%);position:relative;isolation:isolate}.frame[data-astro-cid-abzybht6].is-reading main[data-astro-cid-abzybht6]:before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:-.5rem -2.5rem -2rem -1.25rem;background:linear-gradient(90deg,var(--bg) 0%,color-mix(in oklab,var(--bg) 88%,transparent) 52%,transparent 100%)}.frame[data-astro-cid-abzybht6].is-reading .page-head[data-astro-cid-abzybht6]{padding:var(--gap-2) 0 calc(var(--gap-4) * 1.35);max-width:none}.page-head[data-astro-cid-abzybht6] h1[data-astro-cid-abzybht6]{font-family:var(--font-display);font-size:var(--step-title);font-weight:var(--weight-ui);letter-spacing:var(--track-title);line-height:1.05;text-wrap:balance;overflow-wrap:break-word}.meta[data-astro-cid-abzybht6]{margin-top:var(--gap-1);font-size:var(--label-size);letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--faint);font-variant-numeric:tabular-nums}.lede[data-astro-cid-abzybht6]{margin-top:var(--gap-3);color:var(--muted);max-width:42ch;font-size:var(--step-lede);line-height:1.4;text-wrap:pretty}.frame[data-astro-cid-abzybht6].is-reading .lede[data-astro-cid-abzybht6]{max-width:min(var(--measure),100%);margin-top:var(--gap-3);font-family:var(--font-body);font-size:var(--step-dek);line-height:1.55;letter-spacing:var(--track-body);color:color-mix(in oklab,var(--fg) 82%,var(--muted))}@media(max-width:720px),(max-height:679px){.frame[data-astro-cid-abzybht6].is-home{height:auto;min-height:100dvh;padding-bottom:clamp(16px,3vh,28px)}.page-head[data-astro-cid-abzybht6]{padding-top:var(--gap-3)}}
