@font-face{unicode-range:u+00??,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+2190-2199,u+21b5,u+21e7,u+2212,u+2215,u+2248,u+2260,u+2264-2265,u+feff,u+fffd;font-family:sans;src:url(/_next/static/media/2cd8429c58852654-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:sans Fallback;src:local("Arial");ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.00%;size-adjust:106.28%}.__className_bd3675{font-family:sans,sans Fallback,system-ui,-apple-system,Segoe UI,PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,arial;font-style:normal}.__variable_bd3675{--font-geist-sans:"sans","sans Fallback",system-ui,-apple-system,Segoe UI,PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,arial}@font-face{font-family:sans;unicode-range:u+0100-0113,u+0116-012b,u+012e-0130,u+0132-0137,u+0139-013e,u+0141-0148,u+014a-014d,u+0150-0151,u+0154-017e,u+018f,u+0192,u+01a0-01a1,u+01af-01b0,u+01cd-01ce,u+01e4-01e9,u+0218-021b,u+0237,u+0259,u+02b9,u+02c7-02c8,u+02d8-02d9,u+02db,u+02dd,u+0300-0303,u+0306-0307,u+0309-030c,u+0312,u+031b,u+0323,u+0326-0328,u+0335-0338,u+039b,u+03a9,u+03bb-03bc,u+03c0,u+03c9,u+0400-045f,u+0462-0463,u+046a-046b,u+0472-0475,u+0490-0493,u+0496-0497,u+049a-049b,u+04a2-04a3,u+04ae-04b3,u+04b6-04b7,u+04ba-04bb,u+04c0,u+04cf,u+04d8-04d9,u+04e2-04e3,u+04e8-04e9,u+04ee-04ef,u+0e3f,u+1e20-1e21,u+1e80-1e85,u+1e9e,u+1ea0-1ef9,u+2070,u+2074-2079,u+2080-2089,u+20aa,u+20b1,u+20b4,u+20b9,u+20bd,u+2116-2117,u+2153-2155,u+215b-215e,u+219d,u+21a9-21aa,u+21b0-21b1,u+21b3-21b4,u+21e4-21e5,u+2202,u+2206,u+220f,u+2211,u+221a,u+221e,u+222b,u+2236,u+2460-2468,u+24ea,u+24ff,u+25b2-25b3,u+25b6-25b7,u+25bc-25bd,u+25c0-25c1,u+25ca-25cc,u+25cf,u+2639-263a,u+2776-277e,u+3003,u+301c,u+a78b-a78c,u+f8ff,u+fb01-fb02;src:url(/_next/static/media/909b8c32dc77eaad.woff2) format("woff2");font-display:swap;font-weight:100 900;font-style:normal}.__className_7ecdad{font-family:sans;font-style:normal}@font-face{unicode-range:u+00??,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+2190-2199,u+21b5,u+21e7,u+2212,u+2215,u+2248,u+2260,u+2264-2265,u+feff,u+fffd;font-family:sansItalic;src:url(/_next/static/media/d28c3ebfe88e52e0-s.woff2) format("woff2");font-display:swap;font-weight:100 900;font-style:italic}@font-face{font-family:sansItalic Fallback;src:local("Arial");ascent-override:96.73%;descent-override:28.39%;line-gap-override:0.00%;size-adjust:103.90%}.__className_776d27{font-family:sansItalic,sansItalic Fallback;font-style:italic}.__variable_776d27{--font-geist-sans-italic:"sansItalic","sansItalic Fallback"}@font-face{font-family:sansItalic;unicode-range:u+0100-0113,u+0116-012b,u+012e-0130,u+0132-0137,u+0139-013e,u+0141-0148,u+014a-014d,u+0150-0151,u+0154-017e,u+018f,u+0192,u+01a0-01a1,u+01af-01b0,u+01cd-01ce,u+01e4-01e9,u+0218-021b,u+0237,u+0259,u+02b9,u+02c7-02c8,u+02d8-02d9,u+02db,u+02dd,u+0300-0303,u+0306-0307,u+0309-030c,u+0312,u+031b,u+0323,u+0326-0328,u+0335-0338,u+039b,u+03a9,u+03bb-03bc,u+03c0,u+03c9,u+0400-045f,u+0462-0463,u+046a-046b,u+0472-0475,u+0490-0493,u+0496-0497,u+049a-049b,u+04a2-04a3,u+04ae-04b3,u+04b6-04b7,u+04ba-04bb,u+04c0,u+04cf,u+04d8-04d9,u+04e2-04e3,u+04e8-04e9,u+04ee-04ef,u+0e3f,u+1e20-1e21,u+1e80-1e85,u+1e9e,u+1ea0-1ef9,u+2070,u+2074-2079,u+2080-2089,u+20aa,u+20b1,u+20b4,u+20b9,u+20bd,u+2116-2117,u+2153-2155,u+215b-215e,u+219d,u+21a9-21aa,u+21b0-21b1,u+21b3-21b4,u+21e4-21e5,u+2202,u+2206,u+220f,u+2211,u+221a,u+221e,u+222b,u+2236,u+2460-2468,u+24ea,u+24ff,u+25b2-25b3,u+25b6-25b7,u+25bc-25bd,u+25c0-25c1,u+25ca-25cc,u+25cf,u+2639-263a,u+2776-277e,u+3003,u+301c,u+a78b-a78c,u+f8ff,u+fb01-fb02;src:url(/_next/static/media/fb33ba15c7ff6614.woff2) format("woff2");font-display:swap;font-weight:100 900;font-style:italic}.__className_599e33{font-family:sansItalic;font-style:italic}@font-face{unicode-range:u+00??,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+2190-2199,u+21b5,u+21e7,u+2212,u+2215,u+2248,u+2260,u+2264-2265,u+feff,u+fffd;font-family:mono;src:url(/_next/static/media/8917f37c36300052.p.woff2) format("woff2");font-display:swap;font-weight:100 900;font-style:normal}.__className_68d71c{font-family:mono,Geist Mono Fallback Menlo,Geist Mono Fallback Consolas,Geist Mono Fallback Courier,ui-monospace,SF Mono,Consolas,monospace;font-style:normal}.__variable_68d71c{--font-geist-mono:"mono",Geist Mono Fallback Menlo,Geist Mono Fallback Consolas,Geist Mono Fallback Courier,ui-monospace,SF Mono,Consolas,monospace}@font-face{font-family:mono;unicode-range:u+0100-0113,u+0116-012b,u+012e-0130,u+0134-0137,u+0139-013e,u+0141-0148,u+014a-014d,u+0150-0151,u+0154-017e,u+018f,u+0192,u+01a0-01a1,u+01af-01b0,u+01cd-01ce,u+01e4-01e9,u+0218-021b,u+0237,u+0259,u+02b9,u+02c7-02c8,u+02d8-02d9,u+02db,u+02dd,u+0300-0303,u+0306-0307,u+0309-030c,u+0312,u+031b,u+0323,u+0326-0328,u+0335-0338,u+039b,u+03a9,u+03bb-03bc,u+03c0,u+0400-045f,u+0462-0463,u+046a-046b,u+0472-0475,u+0490-0493,u+0496-0497,u+049a-049b,u+04a2-04a3,u+04ae-04b3,u+04b6-04b7,u+04ba-04bb,u+04c0,u+04cf,u+04d8-04d9,u+04e2-04e3,u+04e8-04e9,u+04ee-04ef,u+0e3f,u+1e20-1e21,u+1e80-1e85,u+1e9e,u+1ea0-1ef9,u+2070,u+2074-2079,u+2080-2089,u+20aa,u+20b1,u+20b4,u+20b9,u+20bd,u+2107,u+2116-2117,u+2153-2155,u+215b-215e,u+219d,u+21a9-21aa,u+21b0-21b1,u+21b3-21b4,u+21e4-21e5,u+2202,u+2206,u+220f,u+2211,u+221a,u+221e,u+222b,u+2236,u+2326-2327,u+232b,u+23ce,u+240b-240c,u+2423,u+2460-2468,u+24ea,u+24ff-259f,u+25b2-25b3,u+25b6-25b7,u+25bc-25bd,u+25c0-25c1,u+25ca-25cc,u+25cf,u+2776-277e,u+3003,u+301c,u+a78b-a78c,u+f8ff;src:url(/_next/static/media/0b02bb27f0748766.woff2) format("woff2");font-display:swap;font-weight:100 900;font-style:normal}.__className_73f5bd{font-family:mono;font-style:normal}:root{--dot-color:rgba(0,0,0,0.05);--rule-color:rgba(0,0,0,0.08);--accent:#6366f1;--accent-soft:rgba(99,102,241,0.10);--accent-ring:rgba(99,102,241,0.35);--ease-standard:cubic-bezier(0.22,1,0.36,1);--ease-out-quart:var(--ease-standard);--duration-fast:150ms;--duration-base:250ms;--duration-slow:450ms;--container-content:1100px;--container-wide:1280px;--container-prose:720px;--measure:68ch;--page-gutter:16px;--elevation-sm:0 1px 2px rgba(0,0,0,0.06),0 1px 1px rgba(0,0,0,0.04);--elevation-md:0 8px 24px -6px rgba(0,0,0,0.12),0 2px 6px -2px rgba(0,0,0,0.08);--elevation-lg:0 24px 60px -12px rgba(0,0,0,0.22),0 8px 20px -8px rgba(0,0,0,0.10);--live-green:#22c55e;--grain-opacity:0.03;--header-h:57px}:where(#main),:where(#main) :where([id],a,button,input,select,textarea,summary,[tabindex],[contenteditable],[data-kbd-item]):where(:not([data-bottom-bar],[data-bottom-bar] *)){scroll-margin-top:calc(var(--header-h) + 16px);scroll-margin-bottom:var(--bottom-bar-h,0)}.chakra-ui-dark,[data-theme=dark]{--dot-color:rgba(255,255,255,0.045);--rule-color:rgba(255,255,255,0.08);--grain-opacity:0.06;--elevation-sm:0 1px 2px rgba(0,0,0,0.6),0 0 0 1px rgba(255,255,255,0.04);--elevation-md:0 10px 28px -6px rgba(0,0,0,0.7),0 0 0 1px rgba(255,255,255,0.06);--elevation-lg:0 24px 60px -8px rgba(0,0,0,0.8),0 0 0 1px rgba(255,255,255,0.08)}@media screen and (min-width:48em){:root{--page-gutter:24px}}@media screen and (min-width:62em){:root{--page-gutter:32px}}[data-italic],cite,em,i{font-family:var(--font-geist-sans-italic),var(--font-geist-sans),system-ui,sans-serif;font-style:italic}.chakra-heading,h1,h2,h3{text-wrap:balance}.article-prose li,.article-prose p,.lede{text-wrap:pretty}.article-prose{max-width:68ch}@font-face{font-family:CJK punctuation SC;src:local("PingFangSC-Regular"),local("PingFang SC Regular"),local("NotoSansCJKsc-Regular"),local("Noto Sans CJK SC Regular"),local("NotoSansSC-Regular"),local("Noto Sans SC Regular"),local("SourceHanSansSC-Regular"),local("Source Han Sans SC Regular"),local("MicrosoftYaHei"),local("Microsoft YaHei");unicode-range:u+00b7,u+2014,u+2018-2019,u+201c-201d,u+2026}@font-face{font-family:CJK punctuation TC;src:local("PingFangTC-Regular"),local("PingFang TC Regular"),local("NotoSansCJKtc-Regular"),local("Noto Sans CJK TC Regular"),local("NotoSansTC-Regular"),local("Noto Sans TC Regular"),local("SourceHanSansTC-Regular"),local("Source Han Sans TC Regular"),local("MicrosoftJhengHeiRegular"),local("Microsoft JhengHei");unicode-range:u+00b7,u+2014,u+2018-2019,u+201c-201d,u+2026}:root{--font-zh-hans:"CJK punctuation SC",var(--font-geist-sans-face,var(--font-geist-sans)),"PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Noto Sans SC","Source Han Sans SC","Microsoft YaHei",var(--font-geist-sans),sans-serif;--font-zh-hant:"CJK punctuation TC",var(--font-geist-sans-face,var(--font-geist-sans)),"PingFang TC","PingFang HK","Noto Sans CJK TC","Noto Sans TC","Source Han Sans TC","Microsoft JhengHei",var(--font-geist-sans),sans-serif;--measure-zh:34em}.article-page :is(h1,h2,h3,h4,h5,h6):lang(zh-Hans),.article-page span[lang=zh-Hans],.article-page:lang(zh-Hans){font-family:var(--font-zh-hans)}.article-page :is(h1,h2,h3,h4,h5,h6):lang(zh-Hant),.article-page span[lang=zh-Hant],.article-page:lang(zh-Hant){font-family:var(--font-zh-hant)}.article-page:lang(zh) span[lang|=en]{font-family:var(--font-geist-sans)}.article-page :lang(zh){letter-spacing:0}.article-page :is(:lang(zh),:lang(ja)),.article-page:is(:lang(zh),:lang(ja)){text-autospace:normal}.article-page .article-prose:lang(zh){max-width:min(var(--measure),var(--measure-zh));line-height:1.85}.article-page .article-prose :is(h1,h2,h3,h4,h5,h6):lang(zh){line-height:1.4}.article-page header h1:lang(zh){line-height:1.25}.article-page .lede:lang(zh){line-height:1.75}@supports not (text-autospace:normal){.article-page .autospace{margin-inline-start:.125em}}.article-page :is(em,i):lang(zh):not([data-script=latin]){font-family:inherit;font-style:normal;-webkit-text-emphasis:filled dot;text-emphasis:filled dot;-webkit-text-emphasis-position:under right;text-emphasis-position:under right}.article-page :is(em,i):lang(zh) :lang(en){font-family:var(--font-geist-sans-italic),var(--font-geist-sans),system-ui,sans-serif;font-style:italic;-webkit-text-emphasis:none;text-emphasis:none}.ui-icon{flex-shrink:0;vertical-align:-.125em}.tnum{font-variant-numeric:tabular-nums}.page-grid{display:grid;grid-template-columns:[full-start] minmax(var(--page-gutter),1fr) [wide-start] minmax(0,calc((var(--container-wide) - var(--container-content)) / 2)) [content-start] min(calc(100% - 2 * var(--page-gutter)),calc(var(--container-content) - 2 * var(--page-gutter))) [content-end] minmax(0,calc((var(--container-wide) - var(--container-content)) / 2)) [wide-end] minmax(var(--page-gutter),1fr) [full-end]}.page-grid>*{grid-column:content;min-width:0}.page-grid>[data-span=wide]{grid-column:wide}.page-grid>[data-span=full]{grid-column:full}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:.55}50%{transform:scale(1.9);opacity:0}}.pulse-dot:before{content:"";position:absolute;inset:0;border-radius:9999px;background:var(--live-green);animation:pulse-dot 2.4s cubic-bezier(.4,0,.6,1) infinite;opacity:.55}.eyebrow-rule{display:flex;align-items:center}.eyebrow-rule:after{content:"";flex:1;height:1px;background:var(--rule-color);margin-left:16px}.link-underline{background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size var(--duration-base) var(--ease-standard)}.link-underline:focus-visible,a:focus-visible>.link-underline{background-size:100% 1px}@media (hover:hover){.link-underline:hover,a:hover>.link-underline{background-size:100% 1px}}.skip-nav{position:absolute;top:-100%;left:.5rem;padding:.5rem .75rem;background:var(--chakra-colors-accent-solid,#4f46e5);color:var(--chakra-colors-accent-fg,#ffffff);border-radius:.5rem;font-family:var(--font-geist-mono),ui-monospace,monospace;font-size:12px;z-index:100}.skip-nav:focus,.skip-nav:focus-visible{top:.5rem}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}[data-rehype-pretty-code-figure] code span{color:var(--shiki-light)}.chakra-ui-dark [data-rehype-pretty-code-figure] code span,[data-theme=dark] [data-rehype-pretty-code-figure] code span{color:var(--shiki-dark)}:root{--code-line-highlight:#f4f5ff}.chakra-ui-dark,[data-theme=dark]{--code-line-highlight:#10101a}::target-text{background-color:rgba(99,102,241,.26);color:inherit}::highlight(cited-quote){background-color:rgba(99,102,241,.26);color:inherit}:root{--vt-route:var(--duration-base)}html:active-view-transition-type(morph){--vt-route:var(--duration-slow)}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}::view-transition{background-color:var(--chakra-colors-page-bg)}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}}::view-transition-group(*){animation-duration:var(--vt-route);animation-timing-function:var(--ease-standard)}::view-transition-old(root){animation:calc(var(--vt-route) * .4) var(--ease-standard) both vt-fade-out}::view-transition-new(root){animation:calc(var(--vt-route) * .7) var(--ease-standard) calc(var(--vt-route) * .3) both vt-fade-in}@keyframes vt-out-left{to{opacity:0;transform:translateX(-16px)}}@keyframes vt-in-right{0%{opacity:0;transform:translateX(16px)}}@keyframes vt-out-right{to{opacity:0;transform:translateX(16px)}}@keyframes vt-in-left{0%{opacity:0;transform:translateX(-16px)}}html:active-view-transition-type(next,forward)::view-transition-old(root){animation:calc(var(--vt-route) * .4) var(--ease-standard) both vt-out-left}html:active-view-transition-type(next,forward)::view-transition-new(root){animation:calc(var(--vt-route) * .7) var(--ease-standard) calc(var(--vt-route) * .3) both vt-in-right}html:active-view-transition-type(prev,back)::view-transition-old(root){animation:calc(var(--vt-route) * .4) var(--ease-standard) both vt-out-right}html:active-view-transition-type(prev,back)::view-transition-new(root){animation:calc(var(--vt-route) * .7) var(--ease-standard) calc(var(--vt-route) * .3) both vt-in-left}html:active-view-transition-type(morph)::view-transition-old(root){animation:calc(var(--vt-route) * .2) var(--ease-standard) both vt-fade-out}html:active-view-transition-type(morph)::view-transition-new(root){animation:calc(var(--vt-route) * .5) var(--ease-standard) calc(var(--vt-route) * .5) both vt-fade-in}::view-transition-new(vt-morph-title),::view-transition-old(vt-morph-title){height:100%;-o-object-fit:none;object-fit:none;-o-object-position:left top;object-position:left top}::view-transition-old(vt-morph-title){animation:calc(var(--vt-route) * .15) var(--ease-standard) both vt-fade-out}::view-transition-new(vt-morph-title){animation:calc(var(--vt-route) * .6) var(--ease-standard) calc(var(--vt-route) * .2) both vt-fade-in}::view-transition-new(vt-morph-cover),::view-transition-old(vt-morph-cover){height:100%;-o-object-fit:cover;object-fit:cover}::view-transition-old(vt-morph-cover){animation:none}::view-transition-new(vt-morph-cover){animation:var(--vt-route) var(--ease-standard) both vt-fade-in;mix-blend-mode:normal}::view-transition-new(vt-morph-panel),::view-transition-old(vt-morph-panel){height:100%;-o-object-fit:cover;object-fit:cover}::view-transition-old(vt-morph-panel){animation:none}::view-transition-new(vt-morph-panel){animation:calc(var(--vt-route) * .25) var(--ease-standard) both vt-fade-in;mix-blend-mode:normal}::view-transition-new(vt-morph-logo),::view-transition-old(vt-morph-logo){height:100%;-o-object-fit:contain;object-fit:contain}::view-transition-old(vt-morph-logo){animation:none}::view-transition-new(vt-morph-logo){animation:calc(var(--vt-route) * .25) var(--ease-standard) both vt-fade-in;mix-blend-mode:normal}::view-transition-old(vt-morph-cover):only-child,::view-transition-old(vt-morph-logo):only-child,::view-transition-old(vt-morph-panel):only-child,::view-transition-old(vt-morph-title):only-child{animation:calc(var(--vt-route) * .2) var(--ease-standard) both vt-fade-out}::view-transition-new(vt-morph-cover):only-child,::view-transition-new(vt-morph-logo):only-child,::view-transition-new(vt-morph-panel):only-child,::view-transition-new(vt-morph-title):only-child{animation:calc(var(--vt-route) * .5) var(--ease-standard) calc(var(--vt-route) * .5) both vt-fade-in}::view-transition-group(site-header){animation:none}::view-transition-old(site-header){display:none}::view-transition-new(site-header){animation:none}.theme-vt::view-transition-new(root),.theme-vt::view-transition-old(root){animation:none;mix-blend-mode:normal}.theme-vt::view-transition-old(root){z-index:1}.theme-vt::view-transition-new(root){z-index:2}.theme-vt *{view-transition-name:none!important}.theme-icon__core,.theme-icon__cut,.theme-icon__rays{transform-box:view-box;transform-origin:12px 12px;transition:transform var(--duration-base) var(--ease-standard),opacity var(--duration-base) var(--ease-standard)}:root[data-theme=dark] .theme-icon__core{transform:scale(1.8)}:root[data-theme=dark] .theme-icon__cut{transform:translateX(-13.5px)}:root[data-theme=dark] .theme-icon__rays{transform:scale(0) rotate(-30deg);opacity:0}.spotlight{position:relative;isolation:isolate}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.spotlight:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:radial-gradient(220px circle at var(--mx,-999px) var(--my,-999px),var(--accent-ring),transparent 65%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity var(--duration-fast) var(--ease-standard);pointer-events:none}.spotlight:hover:before{opacity:1}}@media (hover:hover) and (pointer:fine) and (prefers-contrast:no-preference) and (forced-colors:none){.hover-list .hover-item{transition:opacity var(--duration-fast) var(--ease-standard)}.hover-list:has(.hover-item:hover) .hover-item:not(:hover):not(:focus-within){opacity:.55}}.nudge,.nudge-ne{display:inline-block;transition:transform var(--duration-fast) var(--ease-standard)}a:focus-visible .nudge{transform:translateX(3px)}a:focus-visible .nudge-ne{transform:translate(2px,-2px)}@media (hover:hover){a:hover .nudge,button:hover .nudge{transform:translateX(3px)}a:hover .nudge-ne,button:hover .nudge-ne{transform:translate(2px,-2px)}}.stretched-link:after{content:"";position:absolute;inset:0;z-index:0}.hit-area{position:relative}.hit-area:after{content:"";position:absolute;inset:-10px -6px}.hint-wrap{position:relative;display:inline-flex}.hint{position:absolute;z-index:20;pointer-events:none;white-space:nowrap;padding:4px 8px;border-radius:6px;font:500 12px/1.3 var(--font-geist-sans);background:var(--chakra-colors-page-bg-elevated);color:var(--chakra-colors-page-fg);border:1px solid var(--chakra-colors-page-border);opacity:0;transform:translateY(2px) scale(.96);transition:opacity var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard);transition-delay:0s}.hint--top{bottom:calc(100% + 6px);left:50%;translate:-50% 0}.hint--left{right:calc(100% + 8px);top:50%;translate:0 -50%}.hint-wrap:focus-within .hint{opacity:1;transform:none;transition-delay:var(--hint-delay,.3s)}@media (hover:hover){.hint-wrap:hover .hint{opacity:1;transform:none;transition-delay:var(--hint-delay,.3s)}}[data-hint-instant] .hint{--hint-delay:0ms}.digit{display:inline-block;height:1em;line-height:1;overflow:hidden;vertical-align:bottom}.digit>span{display:flex;flex-direction:column;transform:translateY(calc(var(--d, 0) * -10%));transition:transform .9s var(--ease-standard) calc(var(--i, 0) * 60ms)}.hero-word{display:inline-block;animation:hero-word .7s var(--ease-standard) both;animation-delay:calc(var(--i, 0) * 55ms + .14s)}@media (prefers-reduced-motion:reduce){.hero-word{animation:none}}@keyframes hero-word{0%{opacity:0;transform:translate3d(0,.32em,0);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.hero-drift{animation:hero-drift linear both;animation-timeline:scroll(root);animation-range:0 100vh;will-change:transform}}}@keyframes hero-drift{to{transform:translate3d(0,8%,0)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.rail-fill{transform:scaleY(0);animation:rail-grow linear both;animation-timeline:--xp;animation-range:entry 20% cover 60%}.rail-dot{animation:dot-on linear both;animation-timeline:view();animation-range:entry 60% entry 100%}}}@keyframes rail-grow{to{transform:scaleY(1)}}@keyframes dot-on{0%{background:var(--chakra-colors-page-border-strong)}to{background:var(--accent)}}.collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-base) var(--ease-standard)}.collapse[data-open=true]{grid-template-rows:1fr}.collapse>div{min-height:0;min-width:0;overflow:hidden}@media (prefers-reduced-motion:no-preference){@keyframes status-pulse{0%{transform:scale(1);opacity:.6}80%,to{transform:scale(2.4);opacity:0}}}:root{--header-stuck-shadow:0 6px 18px -14px rgba(0,0,0,0.35)}.chakra-ui-dark,[data-theme=dark]{--header-stuck-shadow:0 8px 22px -12px rgba(0,0,0,0.9)}@supports (container-type:scroll-state){.site-header-sticky{container-type:scroll-state}html .site-header{border-bottom-color:transparent;transition:border-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}@container scroll-state(stuck: top){html .site-header{border-bottom-color:var(--chakra-colors-page-border);box-shadow:var(--header-stuck-shadow)}}}.site-header-sticky{transition:transform var(--duration-base) var(--ease-standard)}@media screen and (max-width:61.99em){html[data-header-hidden]:not(:has([aria-modal=true],.nav-progress[data-state=loading],[data-toc-open=true])) .site-header-sticky:not(:focus-within){transform:translateY(-100%)}}.nav-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;overflow:hidden;pointer-events:none;opacity:0;transition:opacity var(--duration-base) var(--ease-standard)}.nav-progress[data-state=loading]{opacity:1;transition-duration:var(--duration-fast)}.nav-progress:before{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;background:linear-gradient(90deg,transparent,var(--accent) 35%,var(--accent) 65%,transparent);transform:translateX(-100%)}.nav-progress[data-state=loading]:before{animation:nav-progress-sweep 1.1s ease-in-out infinite}@keyframes nav-progress-sweep{0%{transform:translateX(-100%)}to{transform:translateX(250%)}}@media (prefers-reduced-motion:reduce){.nav-progress:before,.nav-progress[data-state=loading]:before{width:100%;transform:none;background:var(--accent);animation:none!important}}a[data-nav-pending]{cursor:progress}html{-webkit-tap-highlight-color:transparent}@media (hover:none) and (pointer:coarse){html .pressable{transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}html .pressable:active{transform:scale(.985);box-shadow:inset 0 0 0 100vmax var(--chakra-colors-page-hover);transition-delay:40ms}html :where(a[href]):active:not(.pressable,.pressable *){opacity:.6;transition:opacity var(--duration-fast) var(--ease-standard) 40ms}}@media (hover:none) and (pointer:coarse) and (prefers-reduced-motion:reduce){html .pressable:active{transform:none}}html .scroll-top{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px) scale(.96);transition:opacity var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard),visibility 0s linear var(--duration-base)}html .scroll-top[data-visible=true]{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard),visibility 0s}html .scroll-top[data-visible=true]:active{transform:scale(.94)}@media (max-width:47.99em){html .scroll-top{translate:0 calc(-1 * var(--toast-stack-h, 0px))}html .scroll-top,html .scroll-top[data-visible=true]{transition-property:opacity,transform,visibility,translate}}.toc-marker{position:absolute;top:0;left:-1px;width:2px;height:var(--toc-h,0);border-radius:1px;background:var(--accent);transform:translateY(var(--toc-y,0));opacity:0;pointer-events:none}.toc-marker[data-on]{opacity:1}.toc-marker[data-ready]{transition:transform var(--duration-base) var(--ease-standard),height var(--duration-base) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}.kbd-hint{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom, 0px));z-index:1500;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;width:-moz-max-content;width:max-content;max-width:calc(100vw - 32px);padding:10px 14px;border:1px solid var(--chakra-colors-page-border-strong);border-radius:12px;background:var(--chakra-colors-page-bg-elevated);color:var(--chakra-colors-page-fg-secondary);box-shadow:var(--elevation-md);font:400 12px/1.5 var(--font-geist-sans),system-ui,sans-serif;opacity:0;transform:translate(-50%,8px);pointer-events:none;transition:opacity var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.kbd-hint[data-open]{opacity:1;transform:translate(-50%)}.kbd-hint>span{white-space:nowrap}.kbd-hint kbd{display:inline-block;min-width:18px;margin-right:6px;padding:1px 5px;border:1px solid var(--chakra-colors-page-border-strong);border-radius:4px;font:500 11px/1.4 var(--font-geist-mono),ui-monospace,monospace;text-align:center}.kbd-hint kbd,.kbd-hint__title{color:var(--chakra-colors-page-fg)}.kbd-hint__title{font-weight:500}img[data-lqip=pending]{opacity:0}img[data-lqip=reveal]{opacity:1;transition:opacity var(--duration-base) var(--ease-standard)}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0ms;--duration-base:0ms;--duration-slow:0ms}*,:after,:before{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-new(*),::view-transition-old(*){animation:none!important}}@media (prefers-reduced-transparency:reduce){.glass{background-color:var(--chakra-colors-page-bg)!important}.chakra-modal__overlay,.glass{backdrop-filter:none!important}}@media (forced-colors:active){:root{--grain-opacity:0}:focus-visible{outline:2px solid Highlight!important;outline-offset:2px}.hint,.skip-nav{border:1px solid CanvasText}.pulse-dot:before,.spotlight:before{display:none}.glass{backdrop-filter:none}[role=option][aria-selected=true]{outline:2px solid Highlight;outline-offset:-2px}mark{forced-color-adjust:none;background:Mark;color:MarkText}.link-underline:focus-visible,a:focus-visible>.link-underline{text-decoration:underline}@media (hover:hover){.link-underline:hover,a:hover>.link-underline{text-decoration:underline}}.eyebrow-rule:after,.rail-dot,.rail-fill{forced-color-adjust:none;background:CanvasText!important}.nav-progress:before,.toc-marker{forced-color-adjust:none;background:Highlight!important}.kbd-hint{border-color:CanvasText}}@page{margin:18mm 16mm}@page cv{size:A4;margin:0}@media print{img[data-lqip]{opacity:1!important}body,html{height:auto!important;margin:0!important;padding:0!important;background:#fff!important;background-image:none!important;color:#000!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;overflow:visible!important}html{color-scheme:light!important}.chakra-ui-dark,[data-theme=dark]{--dot-color:rgba(0,0,0,0.05);--rule-color:rgba(0,0,0,0.08)}.chakra-ui-dark [data-rehype-pretty-code-figure] code span,[data-theme=dark] [data-rehype-pretty-code-figure] code span{color:var(--shiki-light)}.no-print{display:none!important}.print-parent{position:static!important}[data-reveal-list] [data-reveal-item],[data-reveal-list]>*{opacity:1!important;transform:none!important}a[href]:after{content:""}.article-prose a[data-print-url]{overflow-wrap:anywhere}.article-prose a[data-print-url]:after{content:" (" attr(data-print-url) ")";font-size:.85em;color:var(--chakra-colors-page-fg-secondary)}body:has(#print-area),html:has(#print-area){width:210mm!important}body:has(#print-area){page:cv}body:has(#print-area) *{visibility:hidden!important}body:has(#print-area) #print-area,body:has(#print-area) #print-area *{visibility:visible!important}.cv-print-flow{display:block!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;transform:none!important;overflow:visible!important;align-items:flex-start!important;justify-content:flex-start!important}#print-area,.cv-print-flow{position:static!important;margin:0!important;padding:0!important}#A4Paper,#print-area{width:210mm!important}#A4Paper{min-height:297mm!important;margin:0!important;padding:10mm 20px!important;-webkit-box-decoration-break:clone;box-decoration-break:clone;box-shadow:none!important;border-radius:0!important;page-break-after:auto;-moz-column-break-inside:auto;break-inside:auto}}@media screen{.cv-print-area #A4Paper{border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.06),0 12px 32px -8px rgba(0,0,0,.18)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--rule-color);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}@supports not (overflow:clip){body{overflow-x:hidden}}