@font-face{font-family:sans;src:url(/_next/static/media/0b78ff376f6b9734-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_e58032{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_e58032{--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:sansItalic;src:url(/_next/static/media/5d0b6d7330e77053-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_22ef3f{font-family:sansItalic,sansItalic Fallback;font-style:italic}.__variable_22ef3f{--font-geist-sans-italic:"sansItalic","sansItalic Fallback"}@font-face{font-family:mono;src:url(/_next/static/media/723e11e5093b8e80-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:mono Fallback;src:local("Arial");ascent-override:76.43%;descent-override:22.43%;line-gap-override:0.00%;size-adjust:131.49%}.__className_1a4a87{font-family:mono,mono Fallback,ui-monospace,SF Mono,Consolas,monospace;font-style:normal}.__variable_1a4a87{--font-geist-mono:"mono","mono Fallback",ui-monospace,SF Mono,Consolas,monospace}: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-out-quart:cubic-bezier(0.22,1,0.36,1);--duration-fast:150ms;--duration-base:250ms;--duration-slow:450ms;--container-content:1100px;--container-prose:720px;--live-green:#22c55e;--grain-opacity:0.03}.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}[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}.tnum{font-variant-numeric:tabular-nums}@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}.section-label-rule{display:flex;align-items:center}.section-label-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-out-quart)}.link-underline:focus-visible,.link-underline:hover,a:focus-visible>.link-underline,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)}::view-transition-new(root),::view-transition-old(root){animation-duration:.22s;animation-timing-function:var(--ease-out-quart)}::view-transition-group(*){animation-duration:.32s;animation-timing-function:var(--ease-out-quart)}@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:.22s var(--ease-out-quart) both vt-out-left}html:active-view-transition-type(next,forward)::view-transition-new(root){animation:.22s var(--ease-out-quart) both vt-in-right}html:active-view-transition-type(prev,back)::view-transition-old(root){animation:.22s var(--ease-out-quart) both vt-out-right}html:active-view-transition-type(prev,back)::view-transition-new(root){animation:.22s var(--ease-out-quart) both vt-in-left}::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 .3s var(--ease-out-quart),opacity .3s var(--ease-out-quart)}: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 .2s var(--ease-out-quart);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 .2s var(--ease-out-quart)}.hover-list:has(.hover-item:hover) .hover-item:not(:hover):not(:focus-within){opacity:.55}}.nudge,.nudge-ne{display:inline-block;transition:transform .2s var(--ease-out-quart)}a:focus-visible .nudge,a:hover .nudge,button:hover .nudge{transform:translateX(3px)}a:focus-visible .nudge-ne,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 .12s var(--ease-out-quart),transform .12s var(--ease-out-quart);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,.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 cubic-bezier(.22,1,.36,1) calc(var(--i, 0) * 60ms)}.hero-word{display:inline-block;animation:hero-word .7s cubic-bezier(.22,1,.36,1) 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 .24s var(--ease-out-quart)}.collapse[data-open=true]{grid-template-rows:1fr}.collapse>div{min-height: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}}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}::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,.link-underline:hover,a:focus-visible>.link-underline,a:hover>.link-underline{text-decoration:underline}.rail-dot,.rail-fill,.section-label-rule:after{forced-color-adjust:none;background:CanvasText!important}}@page{size:A4;margin:0}@media print{body,html{width:210mm!important;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}.no-print{display:none!important}.print-parent{position:static!important}a[href]:after{content:""}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}}