@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/jetbrains-mono-latin-400-normal.V6pRDFza.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-400-normal.6-qcROiO.woff)format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/jetbrains-mono-latin-700-normal.BYuf6tUa.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-700-normal.D3wTyLJW.woff)format("woff")}:root{color-scheme:light dark;--bg:light-dark(#fafaf8,#1c2128);--bg-soft:light-dark(#f0f0eb,#22272e);--bg-hover:light-dark(#e8e8e2,#2d333b);--fg:light-dark(#2b3036,#adbac7);--fg-strong:light-dark(#0d1117,#e1e7ee);--muted:light-dark(#6a737d,#768390);--border:light-dark(#e0e0da,#373e47);--accent:light-dark(#1a7f37,#6bc46d);--accent-soft:light-dark(#dcf3e2,#26382a);--selection:light-dark(#c8ecd1,#2f4a35);--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", "Noto Sans SC", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--width-text:44rem;--width-wide:64rem;--gutter:1.25rem;--radius:6px;--header-height:3.5rem}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-height) + 1rem)}body{background:var(--bg);min-height:100dvh;color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;overflow-wrap:break-word;flex-direction:column;font-size:1rem;line-height:1.75;display:flex}html.theme-transition body,html.theme-transition body *{transition:background-color .2s,border-color .2s,color .2s}::selection{background:var(--selection)}img,svg,video,iframe{max-width:100%;display:block}img{height:auto}button,input{font:inherit;color:inherit}h1,h2,h3,h4{color:var(--fg-strong);font-weight:700;line-height:1.35}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:.2em;text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}code,kbd,pre,samp{font-family:var(--font-mono);font-size:.9em}.container{width:100%;max-width:calc(var(--width-text) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.container--wide{max-width:calc(var(--width-wide) + var(--gutter) * 2)}main{flex:1;padding-block:2.5rem 4rem}.mono{font-family:var(--font-mono)}.muted{color:var(--muted)}.page-title{margin-bottom:.5rem;font-size:1.75rem}.page-title:before{content:"# ";color:var(--accent);font-family:var(--font-mono);font-weight:400}.page-desc{color:var(--muted);margin-bottom:2.5rem}.section{margin-top:3.5rem}.section-title{font-family:var(--font-mono);color:var(--fg-strong);border-bottom:1px dashed var(--border);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.25rem;padding-bottom:.5rem;font-size:1rem;font-weight:700;display:flex}.section-title:before{content:"## ";color:var(--accent);font-weight:400}.section-title>span{margin-right:auto}.section-title a{font-size:.85rem;font-weight:400}.tag{font-family:var(--font-mono);border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:4px;padding:0 .45em;font-size:.75rem;line-height:1.6;display:inline-block}.btn{font-family:var(--font-mono);color:var(--fg);background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.4em;padding:.35em .9em;font-size:.85rem;line-height:1.6;display:inline-flex}.btn:hover{background:var(--bg-hover);border-color:var(--muted);text-decoration:none}.btn--primary{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.btn--primary:hover{border-color:var(--accent)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--bg);border:1px solid var(--accent);border-radius:var(--radius);padding:.4rem .8rem;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:.5rem}.astro-code{background-color:light-dark(var(--shiki-light-bg),var(--shiki-dark-bg))}.astro-code,.astro-code span{color:light-dark(var(--shiki-light),var(--shiki-dark))}@media (width>=640px){:root{--gutter:1.5rem}.page-title{font-size:2rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{:root{color-scheme:light!important}@page{margin:16mm 14mm}body{color:#000;background:#fff;font-size:10.5pt;line-height:1.6}.no-print,.site-header,.site-footer,.reading-progress,.skip-link{display:none!important}main{padding:0}.container{max-width:none;padding:0}a{color:inherit;text-decoration:none}.prose a[href^=http]:after{content:" (" attr(href) ")";color:#555;font-size:.85em}h1,h2,h3{break-after:avoid}pre,blockquote,img,.resume-item{break-inside:avoid}.prose pre{white-space:pre-wrap;border-color:#ccc}}.theme-toggle[data-astro-cid-l6lhmie6]{border-radius:var(--radius);width:2.25rem;height:2.25rem;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid}.theme-toggle[data-astro-cid-l6lhmie6]:hover{color:var(--fg-strong);border-color:var(--border)}.theme-toggle[data-astro-cid-l6lhmie6] svg[data-astro-cid-l6lhmie6]{grid-area:1/1}.icon-sun[data-astro-cid-l6lhmie6]{display:none}:root[data-theme=dark] .icon-sun[data-astro-cid-l6lhmie6]{display:block}:root[data-theme=dark] .icon-moon[data-astro-cid-l6lhmie6]{display:none}.site-header[data-astro-cid-nen7h5rs]{z-index:50;background:color-mix(in srgb, var(--bg) 96%, transparent);-webkit-backdrop-filter:saturate(150%)blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner[data-astro-cid-nen7h5rs]{height:var(--header-height);align-items:center;gap:1rem;display:flex}.prompt[data-astro-cid-nen7h5rs]{min-width:0;color:var(--fg-strong);white-space:nowrap;align-items:center;margin-right:auto;font-size:.95rem;display:flex}.prompt[data-astro-cid-nen7h5rs]:hover{text-decoration:none}.prompt-user[data-astro-cid-nen7h5rs]{color:var(--accent);font-weight:700}.prompt-sep[data-astro-cid-nen7h5rs]{color:var(--muted)}.prompt-path[data-astro-cid-nen7h5rs]{text-overflow:ellipsis;overflow:hidden}.prompt-sign[data-astro-cid-nen7h5rs]{color:var(--muted);margin-left:.4em}.prompt-cursor[data-astro-cid-nen7h5rs]{background:var(--accent);width:.55em;height:1.1em;margin-left:.3em;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.site-nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:.25rem;padding:0;list-style:none;display:flex}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--muted);border-radius:var(--radius);padding:.3rem .7rem;display:block}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--fg-strong);background:var(--bg-soft);text-decoration:none}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--accent)}.header-actions[data-astro-cid-nen7h5rs]{align-items:center;gap:.25rem;display:flex}.nav-toggle[data-astro-cid-nen7h5rs]{border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;gap:4px;width:2.25rem;height:2.25rem;padding:0 .55rem;display:none}.nav-toggle[data-astro-cid-nen7h5rs]:hover{border-color:var(--border)}.nav-toggle-bar[data-astro-cid-nen7h5rs]{background:var(--fg);border-radius:1px;height:2px;transition:transform .2s,opacity .2s;display:block}.nav-toggle[data-astro-cid-nen7h5rs][aria-expanded=true] .nav-toggle-bar[data-astro-cid-nen7h5rs]:first-child{transform:translateY(6px)rotate(45deg)}.nav-toggle[data-astro-cid-nen7h5rs][aria-expanded=true] .nav-toggle-bar[data-astro-cid-nen7h5rs]:nth-child(2){opacity:0}.nav-toggle[data-astro-cid-nen7h5rs][aria-expanded=true] .nav-toggle-bar[data-astro-cid-nen7h5rs]:nth-child(3){transform:translateY(-6px)rotate(-45deg)}@media (width<=639px){.nav-toggle[data-astro-cid-nen7h5rs]{display:flex}.site-nav[data-astro-cid-nen7h5rs]{background:var(--bg);border-bottom:1px solid var(--border);display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 16px -12px #0000004d}.site-nav[data-astro-cid-nen7h5rs].is-open{display:block}.site-nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{padding:.5rem var(--gutter) .75rem;flex-direction:column;gap:0}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{padding:.6rem .5rem}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:before{content:"> ";font-family:var(--font-mono);color:var(--border)}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]:before{color:var(--accent)}}.site-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);color:var(--muted);font-size:.8rem}.footer-inner[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;padding-block:1.5rem;display:flex}.footer-links[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:.25rem 1rem;padding:0;list-style:none;display:flex}.footer-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--muted)}.footer-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent)}
