.pm{--ink: oklch(var(--bc));--body: oklch(var(--bc) / .9);--muted: oklch(var(--bc) / .74);--rule: oklch(var(--bc) / .13);--panel: oklch(var(--b2));--numeral: color-mix(in oklab, oklch(var(--bc)) 55%, oklch(var(--b1)));--hair: rgb(15 23 42 / .07);--ease: cubic-bezier(.22, 1, .36, 1);--measure: 36rem;--clear: 1rem;display:block;container:pm / inline-size;color:var(--ink)}.pm:where([data-theme=dark] *){--ink: oklch(92% .012 262);--body: oklch(var(--bc));--muted: oklch(var(--bc) / .9);--rule: oklch(var(--bc) / .2);--panel: color-mix(in oklab, oklch(var(--b2)) 55%, oklch(var(--b1)));--numeral: color-mix(in oklab, oklch(var(--bc)) 60%, oklch(var(--b1)));--hair: rgb(255 255 255 / .07)}:root:has(.pm[data-detail-page=projects]){scroll-padding-top:3.5rem}@media(max-width:1023.98px){:root:has(.pm[data-detail-page=projects]){scroll-padding-top:4.5rem}}.pm .pm-in{--offset: 0px}@container pm (min-width: 880px){.pm .pm-in{--offset: 7.5rem}}.pm :is(a,button,summary,[tabindex]):where(:not(.btn)):focus-visible{outline:2px solid oklch(var(--p));outline-offset:3px}.pm .pm-open h2:focus{outline:none}.pm .pm-open h2:focus-visible{outline:2px solid oklch(var(--p));outline-offset:6px;border-radius:2px}.pm .pm-fig img[role=button]:focus-visible{outline:2px solid oklch(var(--p));outline-offset:3px}.pm .pm-label{margin:0;font-size:.75rem;line-height:1.2;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.pm .pm-link,.pm .pm-body :is(p,li,h3,blockquote,td) a{color:oklch(var(--p));font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-color:oklch(var(--p) / .38);background-image:linear-gradient(to right,oklch(var(--s)) 0% 100%);background-size:0% 2px;background-repeat:no-repeat;background-position:0 100%;overflow-wrap:anywhere;transition:color .32s ease,background-size .32s var(--ease),text-decoration-color .32s ease}.pm .pm-link:hover,.pm .pm-body :is(p,li,h3,blockquote,td) a:hover{color:oklch(var(--s));background-size:100% 2px;text-decoration-color:transparent}.pm .pm-link:focus-visible,.pm .pm-body :is(p,li,h3,blockquote,td) a:focus-visible{outline-offset:2px;border-radius:2px}.pm .pm-cover{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"back" "hero" "title"}.pm .pm-cover__back{grid-area:back;margin:-.25rem 0 .75rem}.pm .pm-cover__hero{grid-area:hero;min-width:0}.pm .pm-cover__title{grid-area:title;min-width:0;margin-top:1.75rem}.pm .pm-back{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;margin-left:-.5rem;padding:0 .5rem;border-radius:.5rem;font-size:.875rem;line-height:1.2;font-weight:600;color:var(--muted);text-decoration:none;transition:color .2s ease,background-color .2s ease}.pm .pm-back:hover{color:var(--ink);background:oklch(var(--b2))}.pm .pm-back svg{transition:transform .2s var(--ease)}.pm .pm-back:hover svg{transform:translate(-2px)}.pm .pm-hero{--hmax: 70vh;position:relative;width:min(100%,var(--nat-w),calc(var(--hmax) * var(--ar)));margin-inline:0 auto}.pm .pm-hero img{display:block;width:100%;height:auto;border-radius:12px;background:var(--panel)}.pm .pm-hero:after{content:"";position:absolute;inset:0;border-radius:12px;pointer-events:none;box-shadow:inset 0 0 0 1px var(--hair)}.pm .pm-seal{--seal-size: 72px;position:absolute;z-index:2;top:calc(12px - var(--seal-size) * .15);left:calc(12px - var(--seal-size) * .15);width:var(--seal-size);height:var(--seal-size)}.pm .pm-cover .pm-label{margin-bottom:.875rem}.pm .pm-h1{margin:0;font-size:clamp(1.75rem,.75rem + 6.25cqi,2.5rem);line-height:1.02;font-weight:700;letter-spacing:-.025em;text-wrap:balance;overflow-wrap:break-word;color:var(--ink)}.pm .pm-h1__main{display:block}.pm .pm-h1__sub{display:block;margin-top:.6rem;font-size:1.1875rem;line-height:1.3;font-weight:500;letter-spacing:0;color:var(--muted);text-wrap:balance}.pm .pm-stand{margin:1rem 0 0;font-size:1.0625rem;line-height:1.6;color:var(--body);text-wrap:pretty;max-width:40rem}.pm .pm-credit{margin:.75rem 0 0;font-size:.875rem;line-height:1.5;color:var(--muted)}.pm .pm-tags{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.5rem}@container pm (max-width: 599.98px){.pm .pm-hero{width:auto;margin-inline:-2rem;aspect-ratio:16 / 9;max-height:70svh;overflow:hidden;background:var(--panel)}.pm .pm-hero img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:var(--hero-pos, 50% 50%);object-position:var(--hero-pos, 50% 50%)}.pm .pm-hero img,.pm .pm-hero:after{border-radius:0}.pm .pm-hero:after{box-shadow:none}.pm .pm-hero--contain:before{content:"";position:absolute;inset:-12%;pointer-events:none;background:var(--amb) center / cover no-repeat;filter:blur(14px) saturate(1.05)}.pm .pm-hero--contain img{position:relative;-o-object-fit:contain;object-fit:contain;background:transparent}.pm .pm-hero img:focus-visible{outline:3px solid oklch(var(--p));outline-offset:-3px}.pm .pm-hero:has(img:focus-visible):after{box-shadow:inset 0 0 0 3px oklch(var(--p)),inset 0 0 0 5px oklch(var(--b1))}.pm .pm-cover__back{margin:-.25rem 0 .25rem}.pm .pm-cover__title,.pm .pm-cover__row{margin-top:1.25rem}.pm .pm-cover .pm-label{margin-bottom:.625rem}.pm .pm-h1__sub{margin-top:.4rem;font-size:1.125rem}.pm .pm-stand,.pm .pm-cover__side .pm-stand{margin-top:.75rem;font-size:1rem;line-height:1.55}.pm .pm-credit{margin-top:.5rem}.pm .pm-tags{margin-top:.75rem}}@container pm (min-width: 600px){.pm .pm-h1__sub{font-size:1.375rem}}@container pm (min-width: 880px){.pm .pm-cover:not(.pm-cover--screen){grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto 1fr;grid-template-areas:"back hero" "title hero";-moz-column-gap:3rem;column-gap:3rem}.pm .pm-cover:not(.pm-cover--screen) .pm-cover__back{margin:-.25rem 0 0}.pm .pm-cover:not(.pm-cover--screen) .pm-cover__title{align-self:end;margin-top:2rem}.pm .pm-cover:not(.pm-cover--screen) .pm-cover__hero{align-self:end}.pm .pm-cover:not(.pm-cover--screen) .pm-hero{--hmax: min(72vh, 640px);margin-inline:auto 0}.pm .pm-cover:not(.pm-cover--screen) .pm-seal{--seal-size: 104px;top:calc(-16px - var(--seal-size) * .15);left:calc(-16px - var(--seal-size) * .15)}.pm .pm-h1{font-size:clamp(2.25rem,1.2rem + 3cqi,var(--h1max, 3.5rem))}}@container pm (min-width: 960px){.pm .pm-cover:not(.pm-cover--screen){grid-template-columns:minmax(0,4fr) minmax(0,8fr)}}.pm .pm-cover--screen{display:block}.pm .pm-cover__film{margin-top:.25rem}@container pm (min-width: 600px){.pm .pm-cover__film .pm-yt{width:min(100%,calc(max(14rem,100svh - 22rem) * 16 / 9));margin-inline:auto}}.pm .pm-cover__row{margin-top:1.75rem;display:grid;gap:0}.pm .pm-cover__side .pm-stand{margin-top:1rem}.pm .pm-cover--screen .pm-yt--poster img{-o-object-position:50% 100%;object-position:50% 100%}.pm .pm-cover--screen .pm-yt--poster:before{background:linear-gradient(to bottom,#02061759,#02061700 45%)}.pm .pm-cover--screen .pm-yt--poster .pm-yt__disc{top:20px;bottom:auto}.pm .pm-cover--screen .pm-yt--poster .pm-yt__pill{top:37px;bottom:auto}@container pm (max-width: 599.98px){.pm .pm-cover__film{margin-inline:-2rem}.pm .pm-cover__film .pm-yt{border-radius:0}}@container pm (min-width: 880px){.pm .pm-cover__row{margin-top:2rem;grid-template-columns:minmax(0,5fr) minmax(0,7fr);-moz-column-gap:3rem;column-gap:3rem;align-items:end}.pm .pm-cover__side .pm-stand{margin-top:0}.pm .pm-cover--screen .pm-h1{font-size:clamp(2.25rem,1.2rem + 3cqi,var(--h1max, 3.5rem))}}.pm .pm-yt{position:relative;display:block;width:100%;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;isolation:isolate;background:#0b1220;color:#fff;text-decoration:none;cursor:pointer}.pm .pm-yt img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.pm .pm-yt--poster:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,#02061759,#02061700 45%)}.pm .pm-yt:after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px var(--hair)}.pm .pm-yt--drawn{background:radial-gradient(120% 90% at 18% 12%,rgb(96 165 250 / .16),transparent 55%),radial-gradient(90% 80% at 85% 95%,rgb(251 146 60 / .1),transparent 60%),#0b1220}.pm .pm-yt__frame{position:absolute;inset:14px;border-radius:6px;pointer-events:none;border:1px solid rgb(255 255 255 / .08);display:flex;flex-direction:column;gap:6px;padding:14px 16px}.pm .pm-yt__kicker{font-size:.75rem;line-height:1.2;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#cbd5e1}.pm .pm-yt__name{max-width:24em;font-size:1.0625rem;line-height:1.3;font-weight:600;color:#f8fafc;text-wrap:balance}.pm .pm-yt--drawn{container:pmv / inline-size}@container pmv (min-width: 560px){.pm .pm-yt__frame{padding:18px 22px}.pm .pm-yt__name{font-size:1.25rem}}@container pmv (max-width: 419.98px){.pm .pm-yt__name{display:none}}@container pm (min-width: 600px){.pm .pm-flow>.pm-vid .pm-yt--drawn{aspect-ratio:21 / 9}}.pm .pm-yt__disc{position:absolute;z-index:2;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:999px;display:grid;place-items:center;padding-left:4px;background:oklch(var(--p));color:oklch(var(--pc));box-shadow:0 10px 30px #02061773;transition:transform .3s var(--ease),box-shadow .3s ease}.pm .pm-yt:hover .pm-yt__disc{transform:scale(1.06);box-shadow:0 14px 36px #02061780}.pm .pm-yt__pill{position:absolute;z-index:2;left:16px;bottom:16px;padding:6px 12px;border-radius:999px;background:#ffffffeb;color:#1f2937;font-size:.875rem;line-height:1.2;font-weight:600}.pm .pm-yt--poster .pm-yt__disc{left:20px;top:auto;bottom:20px;width:64px;height:64px;margin:0}.pm .pm-yt--poster .pm-yt__pill{left:96px;bottom:37px}.pm .pm-yt--live{background:#000;cursor:auto}.pm .pm-yt--live iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.pm .pm-yt:focus-visible{outline-offset:4px}@container pm (max-width: 599.98px){.pm .pm-yt__disc{width:56px;height:56px;margin:-28px 0 0 -28px}.pm .pm-yt__disc svg{width:22px;height:22px}.pm .pm-yt__pill{left:12px;bottom:12px;font-size:.8125rem;padding:5px 10px}.pm .pm-yt--poster .pm-yt__disc{left:12px;bottom:12px;width:48px;height:48px;margin:0}.pm .pm-yt--poster .pm-yt__disc svg{width:20px;height:20px}.pm .pm-yt--poster .pm-yt__pill{left:70px;bottom:23px}.pm .pm-cover--screen .pm-yt--poster .pm-yt__disc{top:12px;bottom:auto}.pm .pm-cover--screen .pm-yt--poster .pm-yt__pill{top:23px;bottom:auto}}.pm .pm-brief{margin-top:2.5rem;padding:1rem;border-radius:12px;background:var(--panel)}.pm .pm-brief--phone{display:none}@container pm (max-width: 599.98px){.pm .pm-brief--top{display:none}.pm .pm-brief--phone{display:block;margin:2.5rem 0 0}.pm .pm-ch>.pm-brief--phone{margin:2rem 0}}.pm .pm-brief__facts{margin:0;display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem 1.5rem}.pm .pm-brief dd{margin:.45rem 0 0;font-size:.9375rem;line-height:1.45;color:var(--ink);text-wrap:pretty;overflow-wrap:break-word}.pm .pm-brief__sub{display:block;margin-top:.15rem;font-size:.875rem;color:var(--body)}.pm .pm-brief__part{display:inline-block}.pm .pm-brief__recog{grid-column:1 / -1;padding-top:1.25rem;border-top:1px solid var(--rule)}.pm .pm-brief__award{display:block}.pm .pm-brief__recog dd+dd{margin-top:1rem}.pm .pm-nw{white-space:nowrap}.pm .pm-brief__links{list-style:none;margin:.3rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:0 1.25rem;font-size:.875rem;line-height:1.4}.pm .pm-brief__links a{display:inline-block;padding-block:.2rem}@container pm (min-width: 240px){.pm .pm-brief__facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@container pm (max-width: 599.98px){.pm .pm-brief{margin-top:1.5rem;padding:.875rem 1rem}.pm .pm-brief__facts{gap:.875rem 1rem}.pm .pm-brief dd{margin-top:.3rem;font-size:.875rem;line-height:1.4}.pm .pm-brief__sub{font-size:.8125rem}.pm .pm-brief__recog{padding-top:.875rem}.pm .pm-brief__links{margin:-.45rem 0 -.75rem;-moz-column-gap:1rem;column-gap:1rem}.pm .pm-brief__links a{padding-block:.75rem}}@container pm (max-width: 299.98px){.pm .pm-brief__links a{padding-block:.5rem}}@container pm (min-width: 600px){.pm .pm-brief{margin-top:3rem;padding:1.5rem 1.75rem;border-radius:16px}}@container pm (min-width: 760px){.pm .pm-brief__facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}.pm .pm-brief__recog dd{display:flex;flex-wrap:wrap;align-items:baseline;-moz-column-gap:1.5rem;column-gap:1.5rem}.pm .pm-brief__recog .pm-brief__sub{flex-basis:100%}.pm .pm-brief__links{margin-top:0}}.pm .pm-toc{margin-top:3.5rem}.pm .pm-toc__list{list-style:none;margin:.875rem 0 0;padding:0;border-top:1px solid var(--rule)}.pm .pm-toc__list li{-moz-column-break-inside:avoid;break-inside:avoid}.pm .pm-toc__list a{display:flex;align-items:baseline;gap:1rem;min-height:44px;padding:.7rem 0 .65rem;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none;font-size:1rem;line-height:1.35;transition:color .2s ease}.pm .pm-toc__list a:focus-visible{outline-offset:2px;border-radius:4px}.pm .pm-toc__n{flex:none;width:1.5rem;font-size:.875rem;font-variant-numeric:tabular-nums;color:var(--muted);transition:color .2s ease}.pm .pm-toc__list a:hover .pm-toc__t{color:oklch(var(--p))}.pm .pm-toc__list a[aria-current] .pm-toc__n{color:oklch(var(--p));font-weight:700}@container pm (min-width: 600px){.pm .pm-toc__list{-moz-columns:2;columns:2;-moz-column-gap:3rem;column-gap:3rem}}@container pm (max-width: 599.98px){.pm .pm-toc{display:none}}.pm .pm-run-sentinel{height:1px;margin-bottom:-1px}.pm .pm-run{z-index:30;opacity:0;transform:translateY(-8px);pointer-events:none}.pm .pm-run:is(.is-on,:focus-within){opacity:1;transform:none;pointer-events:auto}@media(min-width:1024px){.pm .pm-run{position:sticky;top:0;height:48px;margin-bottom:-48px;background:oklch(var(--b1) / .94);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}}.pm .pm-run__in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}.pm .pm-run__where{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:.5rem}.pm .pm-run__title{flex:none;display:inline-flex;align-items:center;gap:.3rem;height:32px;margin-left:-.5rem;padding:0 .4rem 0 .5rem;border:0;border-radius:8px;background:transparent;cursor:pointer;font:inherit;font-size:.8125rem;line-height:1.2;font-weight:600;color:var(--ink);transition:background-color .2s ease}.pm .pm-run__title:hover,.pm .pm-run__title[aria-expanded=true]{background:oklch(var(--b2))}.pm .pm-run__title svg{color:var(--muted);transition:transform .2s ease}.pm .pm-run__title[aria-expanded=true] svg{transform:rotate(180deg)}.pm .pm-run__cur{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;line-height:1.2;color:var(--muted)}.pm .pm-run__index{flex:none;align-self:stretch;display:flex;list-style:none;margin:0;padding:0}.pm .pm-run__index li{position:relative;display:flex}.pm .pm-run__cell{position:relative;display:block;min-width:34px;height:47px;padding:0 6px;font-size:.75rem;line-height:47px;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--muted);text-decoration:none;transition:color .2s ease,background-color .2s ease}.pm .pm-run__cell--word{padding:0 8px;font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.pm .pm-run__cell:after{content:"";position:absolute;left:3px;right:3px;bottom:-1px;height:3px;border-radius:2px;background:var(--rule)}.pm .pm-run__cell:hover{color:var(--ink);background:oklch(var(--b2) / .7)}.pm .pm-run__cell[data-past]{color:var(--ink)}.pm .pm-run__cell[data-past]:after{background:color-mix(in oklab,var(--ink) 45%,transparent)}.pm .pm-run__cell[aria-current]{color:oklch(var(--p));font-weight:700}.pm .pm-run__cell[aria-current]:after{background:linear-gradient(to right,oklch(var(--p)) var(--fill, 0%),var(--rule) var(--fill, 0%))}.pm .pm-run__cell:focus-visible{outline-offset:-2px;border-radius:4px}@media(min-width:1024px){.pm .pm-run :is(.pm-run__title,.pm-run__cell){scroll-margin-top:-3.5rem}}.pm .pm-run__t{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pm .pm-tip{position:absolute;z-index:2;top:calc(100% + 6px);left:50%;transform:translate(-50%);display:none;padding:6px 10px;border-radius:8px;white-space:nowrap;background:var(--ink);color:oklch(var(--b1));font-size:.78125rem;line-height:1.3;font-weight:500;box-shadow:0 4px 16px #0000002e}.pm .pm-tip:before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}.pm .pm-run__index li:nth-last-child(-n+3)>.pm-tip{left:auto;right:0;transform:none}.pm .pm-run__index li:is(:hover,:has(>a:focus-visible))>.pm-tip{display:block}.pm .pm-run:is([data-tips-off],[data-open]) .pm-run__index li>.pm-tip{display:none}@container pm (min-width: 880px){.pm .pm-run[data-run-few] .pm-run__cell{padding:0 10px;font-size:.78125rem;font-weight:500;letter-spacing:0;text-transform:none}.pm .pm-run[data-run-few] .pm-run__cell[aria-current]{font-weight:700}.pm .pm-run[data-run-few] .pm-run__t{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.pm .pm-run[data-run-few] .pm-run__cur,.pm .pm-run[data-run-few] .pm-run__index li>.pm-tip{display:none}}@container pm (max-width: 879.98px){.pm .pm-run__cur{display:none}}.pm .pm-run__menu{position:absolute;z-index:3;top:calc(100% + 4px);left:-8px;width:380px;max-height:min(70vh,calc(100vh - 72px));overflow:auto;overscroll-behavior:contain;padding:.5rem 0;border:1px solid var(--rule);border-radius:12px;background:oklch(var(--b1));box-shadow:0 12px 40px #00000038}.pm .pm-stops{list-style:none;margin:0;padding:0}.pm .pm-stops a,.pm .pm-stops__next{display:flex;align-items:baseline;gap:.875rem;min-height:40px;padding:.6rem 1rem;font-size:.9375rem;line-height:1.3;color:var(--ink);text-decoration:none;transition:background-color .2s ease}.pm .pm-stops a:hover,.pm .pm-stops__next:hover{background:oklch(var(--b2))}.pm .pm-stops a:focus-visible,.pm .pm-stops__next:focus-visible{outline-offset:-2px;border-radius:4px}.pm .pm-stops__n{flex:none;width:1.5rem;font-size:.8125rem;font-variant-numeric:tabular-nums;color:var(--muted)}.pm .pm-stops a[aria-current]{color:oklch(var(--p));font-weight:600;box-shadow:inset 3px 0 oklch(var(--p))}.pm .pm-stops a[aria-current] .pm-stops__n{color:oklch(var(--p));font-weight:700}.pm .pm-stops__next{margin-top:.375rem;border-top:1px solid var(--rule);font-size:.875rem;color:var(--muted)}@media(max-width:1023.98px){.pm .pm-run{position:fixed;z-index:39;top:16px;left:76px;right:16px;height:48px}.pm .pm-run.is-past:not(:focus-within){opacity:0;transform:translateY(-8px);pointer-events:none}.pm .pm-run__where,.pm .pm-run__index{display:none}}.pm .pm-capsule{position:relative;display:flex;align-items:center;gap:.6rem;width:100%;height:48px;padding:0 14px 0 16px;overflow:hidden;border:1px solid oklch(var(--p) / .25);border-radius:24px;background:oklch(var(--b1) / .94);backdrop-filter:blur(12px);box-shadow:0 10px 15px -3px oklch(var(--p) / .2),0 4px 6px -4px oklch(var(--p) / .2);font:inherit;color:var(--ink);text-align:left;cursor:pointer}.pm .pm-capsule__n{flex:none;font-size:.75rem;line-height:1;font-weight:700;font-variant-numeric:tabular-nums;color:oklch(var(--p))}.pm .pm-capsule__n:empty{display:none}.pm .pm-capsule__t{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;line-height:1.3;font-weight:600}.pm .pm-capsule svg{flex:none;color:var(--muted)}.pm .pm-capsule__segs{position:absolute;left:16px;right:16px;bottom:5px;display:flex;gap:3px}.pm .pm-capsule__segs i{flex:1 1 0;height:2px;border-radius:2px;background:var(--rule)}.pm .pm-capsule__segs i.is-past{background:color-mix(in oklab,var(--ink) 45%,transparent)}.pm .pm-capsule__segs i.is-cur{background:linear-gradient(to right,oklch(var(--p)) var(--fill, 0%),var(--rule) var(--fill, 0%))}@media(min-width:1024px){.pm .pm-capsule{display:none}}.pm .pm-sheet{position:fixed;inset:72px 12px auto;width:auto;max-width:none;height:auto;max-height:min(80vh,calc(100vh - 96px));max-height:min(80dvh,calc(100dvh - 96px));margin:0;padding:0;overflow:auto;overscroll-behavior:contain;scroll-padding-top:50px;border:1px solid var(--rule);border-radius:16px;background:oklch(var(--b1));color:var(--ink);box-shadow:0 16px 48px #0000004d}.pm .pm-sheet::backdrop{background:#00000059}.pm .pm-sheet__in{padding-bottom:.5rem}.pm .pm-sheet__hd{position:sticky;top:0;z-index:1;background:oklch(var(--b1));display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:48px;padding:2px 2px 0 1rem}.pm .pm-sheet__x{flex:none;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer}.pm .pm-sheet__x:hover{background:oklch(var(--b2));color:var(--ink)}.pm .pm-sheet :is(.pm-stops a,.pm-stops__next){min-height:44px;padding-block:.7rem}@media(forced-colors:active){.pm .pm-run__cell[aria-current]:after,.pm .pm-capsule__segs i.is-cur{forced-color-adjust:none;background:Highlight}.pm .pm-stops a[aria-current]{border-left:3px solid Highlight}}@media(prefers-reduced-motion:no-preference){.pm .pm-run{transition:opacity .2s ease,transform .2s var(--ease)}.pm .pm-sheet[open]{animation:pm-drop .22s var(--ease)}.pm .pm-sheet[open]::backdrop{animation:pm-fade .22s ease}}@keyframes pm-drop{0%{opacity:0;transform:translateY(-8px)}}@keyframes pm-fade{0%{opacity:0}}.pm .pm-brief{scroll-margin-top:var(--clear)}@media(min-width:1024px){.pm #summary{scroll-margin-top:-.5rem}}.pm #pm-colophon{scroll-margin-top:calc(var(--clear) + 2rem)}.pm .pm-brief:has(>:is(h2,h3):focus-visible){outline:2px solid oklch(var(--p));outline-offset:4px}.pm .pm-body{margin-top:0}.pm .pm-flow{display:grid;grid-template-columns:[full-start] var(--offset) [text-start] minmax(0,var(--measure)) [text-end] minmax(0,1fr) [full-end]}.pm .pm-flow>*{grid-column:text;min-width:0}.pm .pm-flow>:is(.pm-fig,.pm-vid,.pm-row){grid-column:full}.pm .pm-flow>:is(.pm-code,.pm-cols){grid-column:text-start / full-end}.pm .pm-body :is(.pm-flow,.pm-u__text)>*{margin-block:0}.pm .pm-body :is(.pm-flow,.pm-u__text)>*+*{margin-top:1.1em}.pm .pm-body :is(.pm-flow,.pm-u__text)>*+h3{margin-top:2.25rem}.pm .pm-body :is(.pm-flow,.pm-u__text)>h3+*{margin-top:.75rem}.pm .pm-body :is(.pm-flow,.pm-u__text)>:is(*+hr,hr+*){margin-top:1.75rem}.pm .pm-body .pm-flow>*+:is(.pm-code,.pm-note),.pm .pm-body .pm-flow>:is(.pm-code,.pm-note)+*{margin-top:1.5rem}.pm .pm-body .pm-flow>*+:is(.pm-fig,.pm-vid,.pm-row),.pm .pm-body .pm-flow>:is(.pm-fig,.pm-vid,.pm-row)+*{margin-top:2.5rem}.pm .pm-body .pm-flow>:is(.pm-fig,.pm-vid,.pm-row)+:is(.pm-fig,.pm-vid,.pm-row){margin-top:3rem}.pm .pm-pro{margin-top:3.5rem}.pm .pm-body>.pm-pro:first-child{margin-top:3.5rem}.pm .pm-pro>.pm-fig:first-child{margin-top:0}.pm .pm-body .pm-flow>p.pm-lede{font-size:1.1875rem;line-height:1.55;color:var(--body);text-wrap:pretty}@container pm (min-width: 600px){.pm .pm-body .pm-flow>p.pm-lede{font-size:1.25rem;line-height:1.55}}@container pm (max-width: 599.98px){.pm .pm-pro,.pm .pm-body>.pm-pro:first-child{margin-top:2rem}}.pm .pm-ch{margin-top:4rem}.pm .pm-open{border-top:1px solid var(--rule);padding-top:1.25rem;margin-bottom:1.75rem}.pm .pm-num{display:block;margin-bottom:.5rem;font-size:2.25rem;line-height:1;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--numeral)}.pm .pm-open h2{margin:0;max-width:var(--measure);font-size:1.375rem;line-height:1.2;font-weight:600;letter-spacing:-.01em;color:var(--ink);text-wrap:balance;scroll-margin-top:var(--clear)}@container pm (min-width: 600px){.pm .pm-ch{margin-top:6rem}.pm .pm-open{margin-bottom:2.25rem}.pm .pm-open h2{font-size:1.625rem}}@container pm (max-width: 599.98px){.pm .pm-ch{margin-top:3rem}.pm .pm-open{display:flex;align-items:baseline;gap:.875rem;padding-top:1rem;margin-bottom:1.25rem}.pm .pm-num{flex:none;margin:0;font-size:1.75rem}.pm .pm-open h2{flex:1 1 auto;min-width:0}}@container pm (min-width: 600px) and (max-width: 879.98px){.pm .pm-open h2{scroll-margin-top:calc(var(--clear) + 3rem)}}@container pm (min-width: 880px){.pm .pm-open{display:grid;grid-template-columns:var(--offset) minmax(0,1fr);align-items:baseline}.pm .pm-num{grid-column:1;margin:0;font-size:clamp(2.5rem,2rem + 2cqi,4rem)}.pm .pm-open h2{grid-column:2}}.pm .pm-u{margin:2.5rem 0}.pm .pm-open+.pm-u{margin-top:0}.pm .pm-u:last-child{margin-bottom:0}.pm .pm-u[data-kind=text]{margin-top:1.5rem}.pm .pm-body :is(.pm-flow,.pm-u__text)>p{font-size:1.0625rem;line-height:1.72;color:var(--body);text-wrap:pretty}.pm .pm-body :is(.pm-flow,.pm-u__text)>:is(ul,ol){padding-left:1.25rem;font-size:1.0625rem;line-height:1.65;color:var(--body)}.pm .pm-body :is(.pm-flow,.pm-u__text)>ul,.pm .pm-body li>ul{list-style:disc}.pm .pm-body :is(.pm-flow,.pm-u__text)>ol{list-style:decimal}.pm .pm-body li{margin:.3em 0;padding-left:.15rem}.pm .pm-body li::marker{color:var(--muted)}.pm .pm-body li>ul{margin:.3em 0 .5em;padding-left:1.25rem;font-size:.9375rem;line-height:1.55;list-style-type:circle}.pm .pm-body strong{font-weight:600;color:var(--ink)}.pm .pm-body :is(.pm-flow,.pm-u__text)>h3{font-size:1.1875rem;line-height:1.35;font-weight:600;color:var(--ink);text-wrap:balance;scroll-margin-top:var(--clear)}.pm .pm-body :is(.pm-flow,.pm-u__text)>hr{border:0;border-top:1px solid var(--rule)}.pm .pm-body :not(pre)>code{padding:.1em .35em;border-radius:4px;background:oklch(var(--b2));font-size:.875em;color:var(--ink)}.pm .pm-body :is(.pm-flow,.pm-u__text)>p.pm-note{padding:.75rem 1rem;border-left:3px solid oklch(var(--s));border-radius:0 10px 10px 0;background:var(--panel);color:var(--body);font-size:.9375rem;line-height:1.55}.pm .pm-body .pm-note em{font-style:normal}.pm .pm-body .pm-cols{-moz-columns:2 18rem;columns:2 18rem;-moz-column-gap:2.5rem;column-gap:2.5rem}.pm .pm-body .pm-cols>li{-moz-column-break-inside:avoid;break-inside:avoid}.pm .pm-body .pm-cols>li:first-child{margin-top:0}@container pm (min-width: 560px){.pm .pm-body :is(.pm-flow,.pm-u__text)>p{font-size:1.125rem;line-height:1.7}.pm .pm-body :is(.pm-flow,.pm-u__text)>:is(ul,ol){font-size:1.125rem}.pm .pm-body .pm-u__text>p{font-size:1.0625rem;line-height:1.7}}.pm .pm-fig{margin:2.5rem 0}.pm .pm-media{position:relative}.pm .pm-fig img{display:block;width:100%;height:auto;border-radius:12px}.pm .pm-media:after{content:"";position:absolute;inset:0;border-radius:12px;pointer-events:none;box-shadow:inset 0 0 0 1px var(--hair)}.pm .pm-fig figcaption{margin-top:.75rem;display:flex;align-items:baseline;gap:.75rem;font-size:.875rem;line-height:1.5;color:var(--body)}.pm .pm-fignum{flex:none;font-size:.8125rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}.pm .pm-cap{min-width:0;max-width:var(--measure);text-wrap:pretty}@container pm (min-width: 880px){.pm .pm-flow>:is(.pm-fig,.pm-vid) figcaption{display:grid;grid-template-columns:var(--offset) minmax(0,var(--measure));gap:0}}.pm .pm-u[data-kind=running]>.pm-fig,.pm .pm-body[data-deck] .pm-flow>.pm-fig{grid-column:text-start / full-end}.pm .pm-u[data-kind=running]>.pm-fig .pm-media,.pm .pm-body[data-deck] .pm-flow>.pm-fig .pm-media{width:min(100%,calc(80svh * var(--ar)))}@container pm (min-width: 880px){.pm .pm-u[data-kind=running]>.pm-fig figcaption,.pm .pm-body[data-deck] .pm-flow>.pm-fig figcaption{display:flex;gap:.75rem}}.pm .pm-body[data-deck] .pm-fig img,.pm .pm-body[data-deck] .pm-media:after{border-radius:8px}.pm:where([data-theme=dark] *) .pm-body[data-deck] .pm-fig img{filter:brightness(.92);transition:filter .3s ease}.pm:where([data-theme=dark] *) .pm-body[data-deck] .pm-fig img:is(:hover,:focus-visible){filter:none}.pm .pm-u--facing{margin:3.5rem 0}.pm .pm-u--facing .pm-u__text{max-width:var(--measure)}.pm .pm-u__plate{margin-top:1.75rem}.pm .pm-u__plate .pm-fig{margin:0}.pm .pm-u__plate .pm-media{width:min(100%,calc(72vh * var(--ar)));margin-inline:auto}.pm .pm-u__plate figcaption{width:min(100%,calc(72vh * var(--ar)));margin-inline:auto}@container pm (min-width: 880px){.pm .pm-u--facing{display:grid;grid-template-columns:minmax(0,22rem) minmax(0,1fr);grid-template-areas:"text plate";-moz-column-gap:3rem;column-gap:3rem;align-items:center}.pm .pm-u--facing[data-side=r]{grid-template-columns:minmax(0,1fr) minmax(0,22rem);grid-template-areas:"plate text"}.pm .pm-u--facing .pm-u__text{grid-area:text}.pm .pm-u--facing .pm-u__plate{grid-area:plate;margin-top:0}}.pm .pm-u--sticky{margin:2.5rem 0}.pm .pm-u--sticky .pm-u__plate{margin:0 0 2.5rem}.pm .pm-u--sticky .pm-u__plate .pm-media,.pm .pm-u--sticky .pm-u__plate figcaption{width:auto}.pm .pm-u--sticky .pm-u__text{max-width:var(--measure)}@container pm (min-width: 880px){.pm .pm-u--sticky{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);-moz-column-gap:3rem;column-gap:3rem;align-items:start}.pm .pm-u--sticky .pm-u__plate{position:sticky;top:4.5rem;margin:0}.pm .pm-u--sticky .pm-u__plate .pm-media{width:min(100%,calc((100svh - 6rem) * var(--ar)))}}.pm .pm-row{display:flex;gap:12px;margin:2.5rem 0;align-items:flex-start}.pm .pm-row>.pm-fig{flex:var(--ar) 1 0;min-width:0;margin:0}.pm .pm-row figcaption{flex-direction:column;gap:.15rem}@container pm (max-width: 479.98px){.pm .pm-row{flex-direction:column;gap:2rem}.pm .pm-row>.pm-fig{flex:none;width:100%}}.pm .pm-vid{margin:2.5rem 0}.pm .pm-vid figcaption{margin-top:.75rem;display:flex;align-items:baseline;gap:.75rem;font-size:.875rem;line-height:1.5;color:var(--body)}.pm .pm-screen{display:grid;gap:2.5rem}.pm .pm-screen__item{min-width:0}.pm .pm-body .pm-screen h3{margin:0 0 .75rem;font-size:.8125rem;line-height:1.3;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);scroll-margin-top:var(--clear)}.pm .pm-body .pm-screen__note{margin:.75rem 0 0;font-size:.8125rem;line-height:1.45;color:var(--muted)}@container pm (min-width: 880px){.pm .pm-screen--2{grid-template-columns:repeat(2,minmax(0,1fr));-moz-column-gap:1.5rem;column-gap:1.5rem}}.pm .pm-code{position:relative}.pm .pm-code:before{content:attr(data-language);position:absolute;z-index:1;top:.6rem;right:.9rem;pointer-events:none;font-size:.6875rem;line-height:1;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#c9d1d9}.pm .pm-code pre{--pt: 1.25rem;--pb: 1.25rem;margin:0;padding:var(--pt) 1.5rem var(--pb);border-radius:12px;font-size:.875rem;line-height:1.6}.pm .pm-code__win{position:relative}.pm .pm-code[data-clamped=true] pre{max-height:calc(24 * 1.6em + var(--pt) + var(--pb));overflow-y:hidden}.pm .pm-code[data-clamped=true] .pm-code__win:after{content:"";position:absolute;left:0;right:0;bottom:0;height:6rem;pointer-events:none;border-radius:0 0 12px 12px;background:linear-gradient(to bottom,#24292e00,#24292e 85%)}.pm .pm-code__more{margin-top:.75rem}.pm .pm-code pre code{font-size:inherit}.pm .astro-code span[style*="#6A737D" i]{color:#959da5!important}@container pm (max-width: 599.98px){.pm .pm-flow>:is(.pm-fig,.pm-vid,.pm-code,.pm-row),.pm .pm-u__plate .pm-fig,.pm .pm-screen{margin-inline:-2rem}.pm .pm-flow>:is(.pm-fig,.pm-vid) img,.pm .pm-u__plate img,.pm .pm-row img,.pm .pm-flow>:is(.pm-fig,.pm-vid) .pm-media:after,.pm .pm-u__plate .pm-media:after,.pm .pm-row .pm-media:after,.pm .pm-flow>.pm-vid .pm-yt,.pm .pm-screen .pm-yt,.pm .pm-code pre{border-radius:0}.pm .pm-flow>:is(.pm-fig,.pm-vid) figcaption,.pm .pm-u__plate figcaption,.pm .pm-row figcaption,.pm .pm-screen h3,.pm .pm-screen .pm-screen__note{padding-inline:2rem}.pm .pm-u__plate .pm-media,.pm .pm-u__plate figcaption{width:auto}.pm .pm-code pre{--pt: 2rem;--pb: 1rem;padding:var(--pt) 2rem var(--pb);font-size:.8125rem}.pm .pm-code:before{right:2rem}.pm .pm-code[data-clamped=true] .pm-code__win:after{border-radius:0}.pm .pm-code__more{margin-left:2rem}}.pm .pm-colo{margin-top:4.5rem;padding:1.25rem;border-radius:12px;background:var(--panel)}.pm .pm-colo__list{margin:1.25rem 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(15rem,100%),1fr));gap:1.5rem 2rem}.pm .pm-colo dd{margin:.45rem 0 0;font-size:.9375rem;line-height:1.5;color:var(--ink);text-wrap:pretty}.pm .pm-colo dd ul{list-style:none;margin:0;padding:0}.pm .pm-colo dd li+li{margin-top:.2rem}.pm .pm-colo__sub{display:block;margin-top:.15rem;font-size:.875rem;color:var(--body)}.pm .pm-colo__person{color:var(--body)}.pm .pm-colo__person--me{color:var(--ink);font-weight:600}.pm .pm-colo dd a.pm-link{padding-block:4px}@container pm (max-width: 599.98px){.pm #pm-colophon{scroll-margin-top:calc(var(--clear) + 1.25rem)}}@container pm (min-width: 600px){.pm .pm-colo{margin-top:6rem;padding:2rem;border-radius:16px}}.pm .pm-next{display:grid;gap:1.5rem;margin-top:4rem;color:inherit;text-decoration:none;border-radius:20px}.pm .pm-next:focus-visible{outline:2px solid oklch(var(--p));outline-offset:4px}.pm .pm-next__media{position:relative;display:block;aspect-ratio:var(--next-ar, 4 / 3);border-radius:16px;overflow:hidden;background:var(--panel)}.pm .pm-next__media img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.pm .pm-next__media--contain{display:grid;place-items:center;padding:6%}.pm .pm-next__media--contain img{width:auto;height:auto;max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;border-radius:8px;box-shadow:0 1px 2px #0f172a14}.pm .pm-next__media:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px var(--hair)}.pm .pm-next__text{display:block;min-width:0}.pm .pm-next__no{display:block;margin-top:.75rem;font-size:2.5rem;line-height:1;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--numeral)}.pm .pm-next__title{display:block;margin-top:1rem;font-size:1.75rem;line-height:1.1;font-weight:700;letter-spacing:-.02em;color:var(--ink);text-wrap:balance}.pm .pm-next__sub{display:block;margin-top:.45rem;font-size:1.0625rem;line-height:1.35;font-weight:500;letter-spacing:0;color:var(--muted)}.pm .pm-next__ex{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;margin-top:1rem;font-size:1rem;line-height:1.6;color:var(--body)}.pm .pm-next__go{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.25rem;font-size:.9375rem;font-weight:600;color:oklch(var(--p))}.pm .pm-next__arr{display:inline-block}@container pm (min-width: 600px){.pm .pm-next__title{font-size:2.25rem}.pm .pm-next__sub{font-size:1.125rem}}@container pm (min-width: 880px){.pm .pm-next{grid-template-columns:minmax(0,7fr) minmax(0,5fr);-moz-column-gap:2.5rem;column-gap:2.5rem;align-items:end}}.pm .pm-last{margin-top:2.5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.5rem}.pm .pm-prev{display:inline-block;font-size:.9375rem;line-height:1.75rem}@media(prefers-reduced-motion:no-preference){.pm .pm-next__media img{transition:transform .5s var(--ease)}.pm .pm-next:hover .pm-next__media img{transform:scale(1.03)}.pm .pm-next__arr{transition:transform .3s var(--ease)}.pm .pm-next:hover .pm-next__arr{transform:translate(4px)}@supports (animation-timeline: view()){.pm .pm-u--facing .pm-u__plate{animation:pm-rise linear both;animation-timeline:view();animation-range:entry 0% entry 35%}}}@keyframes pm-rise{0%{opacity:.6;transform:translateY(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.pm .pm-back svg,.pm .pm-yt__disc,.pm .pm-link,.pm .pm-run__title,.pm .pm-run__title svg,.pm .pm-run__cell,.pm .pm-stops a,.pm .pm-stops__next{transition:none}.pm .pm-yt:hover .pm-yt__disc{transform:none}}@media print{.pm{--ink: #111827;--body: #1f2937;--muted: #4b5563;--rule: rgb(0 0 0 / .15);--panel: #f3f4f6;--numeral: #6b7280;--hair: rgb(0 0 0 / .08);--offset: 0px}.pm .pm-run,.pm .pm-sheet,.pm .pm-next,.pm .pm-cover__back,.pm .pm-last,.pm .pm-toc{display:none!important}.pm .pm-cover{display:block!important}.pm .pm-hero{width:auto!important;max-width:100%;margin:0 0 1rem!important}.pm .pm-hero img{width:auto;max-width:100%;max-height:40vh}.pm .pm-seal{display:none}.pm .pm-u--facing,.pm .pm-u--sticky{display:block!important}.pm .pm-u--sticky .pm-u__plate{position:static}.pm .pm-fig,.pm .pm-vid,.pm .pm-row,.pm .pm-colo__item{-moz-column-break-inside:avoid;break-inside:avoid}.pm .pm-fig img{max-height:45vh;width:auto;max-width:100%}.pm .pm-open{-moz-column-break-after:avoid;break-after:avoid}.pm .pm-yt{aspect-ratio:auto;background:none!important;color:#111827}.pm .pm-yt img{position:static;height:auto;max-height:35vh}.pm .pm-yt__disc,.pm .pm-yt__pill,.pm .pm-yt__frame,.pm .pm-yt:before{display:none}.pm .pm-yt:after{display:block;content:"Video: " attr(href);position:static;box-shadow:none;font-size:11pt}.pm .pm-brief,.pm .pm-colo{background:none!important;border:1px solid rgb(0 0 0 / .15)}.pm .pm-code pre{white-space:pre-wrap;background:#f6f8fa!important;max-height:none!important;overflow:visible!important}.pm .pm-code__win:after,.pm .pm-code__more{display:none!important}.pm .pm-code pre span{color:#1f2937!important}}html:has(dialog#content-lightbox-modal[open]){overflow:hidden!important}body:has(dialog#content-lightbox-modal[open]){overflow:hidden!important}dialog[data-astro-cid-hiopj22y].modal{transition-property:transform,opacity,visibility,display,overlay;transition-behavior:allow-discrete}dialog[data-astro-cid-hiopj22y].modal:not([open]){display:none}@starting-style{dialog[data-astro-cid-hiopj22y].modal[open]{opacity:0}}
