:root{--primary-dk: #eeeeee;--background-dk: #13112a;--primary-lt: #dbd6f0;--background-lt: #0d0b1a;--detail-lt: #1c1830;--shadow-lt: #00000050;--accent: #a78bfa;--hr-color: #2d2847;--nav-bg: var(--background-lt);--bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAYCAYAAADOMhxqAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABRSURBVHgBxY85CgAgDARV7GJh/v9NUysIliEXxIVUYZnZijh3MaQVY8TCALinLpgJ4ULnHs97EcUIHzZw7m5C4gbJ3U1I2KB1dxMSNmjd3YQDsPwQjTPQY4MAAAAASUVORK5CYII=);--headline-shadow: #4c1d95}html.light{--primary-lt: #0e0c1f;--background-lt: #e9e4ff;--detail-lt: #d8d1f5;--shadow-lt: #00000022;--accent: #6d28d9;--hr-color: #b8aee0;--nav-bg: var(--background-lt);--bg-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAYCAYAAADOMhxqAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAA2SURBVHgB7dMxCgAwCANA7f8/28FCXRR8gQEXxUDGI1NYvxgBOQRmwYLG4MmNpgG8UA54wKcdmacNtYmuMxkAAAAASUVORK5CYII=);--headline-shadow: #2e1a6e}html{transition:color .25s ease}body,nav,hr,footer{transition:background-color .25s ease,border-color .25s ease}*{overscroll-behavior:none}*::selection{color:#fff;background-color:var(--accent)}html{font-family:DM Mono,Inter,Arial,Helvetica;line-height:1.9;color:var(--primary-lt)}body{margin:0;padding:0;background-color:var(--background-lt);background-image:var(--bg-image);background-repeat:repeat}h1,h2{line-height:1.2}h3{line-height:1.2;font-weight:500;margin-bottom:-.5rem}hr{border-color:var(--hr-color)}a{color:var(--accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px;transition:none}.jgs7{font-family:jgs7,Arial,Helvetica}.jgs5{font-family:jgs5,Arial,Helvetica}.jgs9{font-family:jgs9,Arial,Helvetica}.jgs{font-family:jgs,Arial,Helvetica}.newsreader{font-family:Newsreader,Arial,Helvetica;font-style:italic;font-weight:700;letter-spacing:.1rem}nav{display:flex;padding:1rem;position:sticky;top:0;z-index:10;justify-content:space-between;background:transparent;border-bottom:solid 1px transparent}strong{font-weight:600;letter-spacing:.05rem}.nav-links{display:flex;gap:2rem}@media screen and (max-width:480px){.nav-links{gap:1.5rem}}@media screen and (max-width:450px){.nav-links{gap:1.2rem}nav{padding-left:.5rem;padding-right:.5rem}}@media screen and (max-width:415px){.nav-links{gap:.5rem}}.theme-toggle{position:fixed;bottom:1.5rem;right:1.5rem;z-index:100;background:var(--detail-lt);border:1px solid var(--hr-color);border-radius:999px;cursor:pointer;width:3rem;height:1.6rem;padding:0;transition:background .25s ease,border-color .25s ease}.theme-toggle-thumb{position:absolute;top:50%;left:.22rem;transform:translateY(-50%);width:1.15rem;height:1.15rem;border-radius:50%;background:var(--accent);transition:left .25s ease,background .25s ease;display:flex;align-items:center;justify-content:center;font-size:.55rem;color:#fff}html.light .theme-toggle-thumb{left:calc(100% - 1.37rem)}.home{position:relative}.headline{text-align:center;margin:6rem 0rem 4rem;padding:0 20px}.headline-clickable{cursor:pointer;transition:opacity .15s ease}.headline-clickable:hover{opacity:.75}.headline-clickable:hover:after{content:" ♪";font-family:sans-serif;font-size:1.2rem;color:var(--accent);opacity:.8}.headline.mobile{margin:1rem 0rem}.accent-headline{font-family:jgs7,Arial,Helvetica;font-style:italic;color:var(--accent);font-size:50px;position:relative;text-shadow:-2px 2px 0px var(--headline-shadow);top:1px}.page-title{color:var(--accent);font-size:2.2rem;font-weight:500;letter-spacing:.08em;text-shadow:-2px 2px 0px var(--headline-shadow);transition:color .25s ease,text-shadow .25s ease}img{max-width:100%;max-height:20rem;margin:0 auto;border-radius:1rem;display:block;filter:drop-shadow(-6px 6px 0px var(--accent));border:2px solid var(--primary-lt)}img.no-border{filter:none;border:0px}.hero-image{z-index:-1;width:1008px;max-width:none;max-height:none;position:fixed;bottom:-180px;left:-240px;opacity:.14;-webkit-user-select:none;user-select:none;border:none;transition:opacity .25s ease}html.light .hero-image{opacity:.25}main{max-width:45rem;margin-left:auto;margin-right:auto;padding:0rem 2rem}.title{text-align:center;margin:2rem 0rem 4rem;padding:0 20px}.subtext{opacity:.6;font-style:italic;font-size:.75rem}.not-bold{font-weight:500}.project-header{display:flex;justify-content:space-between;align-items:end}.project-header>h3{margin-bottom:.5rem;margin-top:.5rem}.no-wrap{white-space:nowrap}.page-date{display:block;text-align:center;margin:-4rem 0 4rem;font-weight:500;font-style:italic}.timeline{position:relative;padding-left:1.5rem;margin-top:.5rem}.timeline:before{content:"";position:absolute;left:0;top:.6rem;bottom:.5rem;width:1px;background:var(--hr-color);transition:background .25s ease}.timeline-item{position:relative;margin-bottom:2rem}.timeline-item:last-child{margin-bottom:0}.timeline-dot{position:absolute;left:-1.84rem;top:.5rem;width:.65rem;height:.65rem;border-radius:50%;background:var(--accent);border:2px solid var(--background-lt);transition:background .25s ease,border-color .25s ease}.timeline-header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:.1rem}.timeline-item ul{margin-top:.25rem;margin-bottom:0;padding-left:1.25rem}.timeline-item li{margin-bottom:.1rem}.project-card{background:var(--detail-lt);border-radius:.75rem;padding:1rem 1.25rem;margin-bottom:1rem;border:1px solid var(--hr-color);transition:border-color .2s ease,background .25s ease}.project-card:hover{border-color:var(--accent)}.project-card .project-header h3{margin-top:0;margin-bottom:.25rem}.project-card p{margin:0;font-size:.9rem;opacity:.85}.full-width-page{display:contents}footer{text-align:center;padding:2rem 0 2.5rem;font-size:.7rem;opacity:.35}.friends-sep{opacity:.3;margin:0 .5rem}.friends-label{margin-right:.4rem}.friends-marquee-wrap{display:inline-block;overflow:hidden;width:10rem;vertical-align:bottom;mask-image:linear-gradient(to right,transparent,black 10%,black 80%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 10%,black 80%,transparent)}.friends-marquee{display:inline-flex;gap:.6rem;white-space:nowrap;animation:marquee 10s linear infinite}.friends-dot{opacity:.3}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}div[class*=language-] .lang,div[class*=language-] button{display:none}div[class*=language-]{background:var(--background-dk);padding:1rem;border-radius:.5rem;line-height:1.5}div[class*=language-]>pre{margin-top:0;margin-bottom:0}code{background:var(--detail-lt);padding:.15rem .3rem;border-radius:.5rem;font-family:Fira Code,monospace;font-size:14px;font-weight:400}.shiki>code{background:transparent;padding:0;border-radius:0;font-size:12px;font-weight:400}.shiki{overflow-x:auto}.intro-overlay{position:fixed;inset:0;z-index:999;background:var(--background-lt);display:flex;align-items:center;justify-content:center;overflow:hidden}.intro-circuit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.trace{fill:none;stroke-dasharray:100;stroke-dashoffset:100;animation:draw-trace .4s ease-out forwards}.layer-power .trace{stroke:#fb923c;stroke-width:.22;opacity:.7}.layer-1 .trace{stroke:#c084fc;stroke-width:.2;opacity:.65}.layer-2 .trace{stroke:#38bdf8;stroke-width:.16;opacity:.55}.layer-3 .trace{stroke:#34d399;stroke-width:.12;opacity:.5}.via-pin{fill:#fbbf24}.via{fill:none;stroke:#e2e8f0;stroke-width:.35;opacity:.75;transform-box:fill-box;transform-origin:center;transform:scale(0);animation:pop-via .18s cubic-bezier(.34,1.56,.64,1) forwards}.via-pin{stroke:#fbbf24}@keyframes draw-trace{to{stroke-dashoffset:0}}@keyframes pop-via{0%{transform:scale(0)}to{transform:scale(1)}}.intro-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:.25rem;text-align:center}.intro-tagline{margin:0;font-size:.8rem;letter-spacing:.3rem;text-transform:uppercase;opacity:0;animation:intro-fade-up .5s ease forwards 1.2s;color:var(--primary-lt)}.intro-agi{font-family:jgs7,Arial,Helvetica;font-size:clamp(5rem,18vw,11rem);line-height:1;color:var(--accent);text-shadow:-4px 4px 0px var(--headline-shadow);opacity:0;animation:intro-slam .35s cubic-bezier(.22,1,.36,1) forwards 1.6s}.intro-name{margin:0;font-size:.95rem;letter-spacing:.15rem;opacity:0;animation:intro-fade-up .5s ease forwards 2.1s;color:var(--primary-lt)}@keyframes intro-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes intro-slam{0%{opacity:0;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}.intro-exit-leave-active{transition:transform .55s cubic-bezier(.76,0,.24,1)}.intro-exit-leave-to{transform:translateY(-100%)}.word-cycler-static{display:inline}.headline-reroll{font-size:1rem;vertical-align:middle;position:relative;top:-.1em;margin-right:.3rem}.music-player{position:fixed;bottom:1.5rem;left:1.5rem;z-index:100;display:flex;align-items:center;gap:.6rem;background:var(--detail-lt);border:1px solid var(--hr-color);border-radius:999px;padding:.35rem .9rem .35rem .4rem;transition:background .25s ease,border-color .25s ease}.music-btn{background:var(--accent);border:none;border-radius:50%;width:1.6rem;height:1.6rem;cursor:pointer;color:#fff;font-size:.55rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .25s ease}.music-info{display:flex;flex-direction:column;line-height:1.2}.music-title{font-size:.7rem;font-weight:600}.music-artist{font-size:.62rem;opacity:.6}.music-volume{-webkit-appearance:none;appearance:none;width:4.5rem;height:2px;border-radius:999px;background:var(--hr-color);outline:none;cursor:pointer;transition:background .25s ease}.music-volume::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:.7rem;height:.7rem;border-radius:50%;background:var(--accent);cursor:pointer;transition:background .25s ease}.music-volume::-moz-range-thumb{width:.7rem;height:.7rem;border:none;border-radius:50%;background:var(--accent);cursor:pointer}.player-fade-enter-active,.player-fade-leave-active{transition:opacity .3s ease,transform .3s ease}.player-fade-enter-from,.player-fade-leave-to{opacity:0;transform:translateY(.5rem)}.vim-indicator{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:.6rem;background:var(--detail-lt);border:1px solid var(--hr-color);border-radius:.5rem;padding:.35rem .75rem;font-size:.65rem;pointer-events:none}.vim-key{color:var(--accent);font-weight:600;letter-spacing:.05rem}.vim-hint{opacity:.5;letter-spacing:.05rem}.vim-fade-enter-active,.vim-fade-leave-active{transition:opacity .15s ease,transform .15s ease}.vim-fade-enter-from,.vim-fade-leave-to{opacity:0;transform:translate(-50%) translateY(.4rem)}ol{counter-reset:item}ol>li{display:block}ol>li:before{content:counters(item,".") ". ";counter-increment:item}blockquote{font-family:Newsreader,Arial,Helvetica;font-style:italic;font-weight:700;letter-spacing:.1rem}.hero-inc-reroll{background:none;border:none;color:var(--accent);opacity:.5;cursor:pointer;font-size:1.1rem;padding:0;line-height:1;transition:opacity .15s ease,transform .2s ease;vertical-align:middle;pointer-events:all}.hero-inc-reroll:hover{opacity:1;transform:rotate(180deg)}.hero-inc{position:fixed;bottom:3.5rem;left:2rem;font-family:jgs7,Arial,Helvetica;font-size:1.4rem;letter-spacing:.2rem;opacity:.25;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;color:var(--accent);display:flex;align-items:center;gap:.3rem}.hero-text{font-size:35px;color:var(--primary-lt)}.hero-text>.jgs{font-size:55px}.hero-text>.jgs5{font-size:40px}@font-face{font-family:jgs7;src:url(/assets/jgs7.DHNl4hVq.woff2) format("woff2"),url(/assets/jgs7.DhhisCcb.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:jgs5;src:url(/assets/jgs5.B3mLTSvD.woff2) format("woff2"),url(/assets/jgs5.Coail5FW.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:jgs9;src:url(/assets/jgs9.ShexlQ3X.woff2) format("woff2"),url(/assets/jgs9.CEgaF3V6.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:jgs;src:url(/assets/jgs_Font.CoRSRvY2.ttf);font-weight:400;font-style:normal;font-display:swap}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: #3c3c43;--vp-c-text-2: #67676c;--vp-c-text-3: #929295}.dark{--vp-c-text-1: #dfdfd6;--vp-c-text-2: #98989f;--vp-c-text-3: #6a6a71}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Inter", -apple-system, BlinkMacSystemFont, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}[lang]:where(:lang(zh,ja)){--vp-font-family-base: "Inter4CJK", -apple-system, BlinkMacSystemFont, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}[lang]:where(:lang(zh,ja,ko)) h1,[lang]:where(:lang(zh,ja,ko)) h2,[lang]:where(:lang(zh,ja,ko)) h3,[lang]:where(:lang(zh,ja,ko)) h4,[lang]:where(:lang(zh,ja,ko)) h5,[lang]:where(:lang(zh,ja,ko)) h6,[lang]:where(:lang(zh,ja,ko)) li,[lang]:where(:lang(zh,ja,ko)) p{line-break:strict}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media(min-width:960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-2);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-2);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:lang(es),:lang(pt){--vp-code-copy-copied-text-content: "Copiado"}:lang(fa){--vp-code-copy-copied-text-content: "کپی شد"}:lang(ko){--vp-code-copy-copied-text-content: "복사됨"}:lang(ru){--vp-code-copy-copied-text-content: "Скопировано"}:lang(zh){--vp-code-copy-copied-text-content: "已复制"}:lang(ja){--vp-code-copy-copied-text-content: "コピー完了"}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}.dark .shiki span{color:var(--shiki-dark, inherit)}html:not(.dark) .shiki span{color:var(--shiki-light, inherit)}.graph-svg[data-v-d75d20d3]{display:block;position:fixed;inset:56px 0 0;width:100vw;height:calc(100vh - 56px);z-index:1;-webkit-user-select:none;user-select:none;cursor:grab}.graph-svg[data-v-d75d20d3]:active{cursor:grabbing}@keyframes flow-d75d20d3{to{stroke-dashoffset:-34}}.edge-flow[data-v-d75d20d3]{animation:flow-d75d20d3 .5s linear infinite}.graph-search-wrap[data-v-d75d20d3]{position:fixed;top:72px;left:50%;transform:translate(-50%);z-index:2}.graph-search[data-v-d75d20d3]{font-family:DM Mono,monospace;font-size:.7rem;padding:.3rem .7rem;border:1px solid;border-radius:6px;outline:none;width:200px;transition:border-color .15s ease,width .15s ease}.graph-search[data-v-d75d20d3]:focus{width:260px}.graph-search[data-v-d75d20d3]::placeholder{opacity:.4}.graph-minimap[data-v-d75d20d3]{position:fixed;top:72px;right:1.2rem;z-index:2;border:1px solid;border-radius:6px;overflow:hidden;cursor:crosshair;opacity:.85;transition:opacity .15s ease}.graph-minimap[data-v-d75d20d3]:hover{opacity:1}.graph-legend[data-v-d75d20d3]{position:fixed;bottom:1.5rem;left:1.2rem;z-index:2;border:1px solid;border-radius:6px;padding:.5rem .7rem;font-family:DM Mono,monospace;font-size:.65rem;display:flex;flex-direction:column;gap:.3rem}.legend-row[data-v-d75d20d3]{display:flex;align-items:center;gap:.5rem}.legend-stats[data-v-d75d20d3]{opacity:.7;margin-top:.1rem;letter-spacing:.02rem}.graph-controls[data-v-d75d20d3]{position:fixed;bottom:4rem;right:1.2rem;z-index:2;display:flex;align-items:center;gap:.5rem}.graph-zoom-pct[data-v-d75d20d3]{font-family:DM Mono,monospace;font-size:.65rem;letter-spacing:.05rem;min-width:3rem;text-align:right}.graph-fit-btn[data-v-d75d20d3]{border:1px solid;border-radius:6px;width:2rem;height:2rem;font-size:1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.7;transition:opacity .15s ease;font-family:monospace}.graph-fit-btn[data-v-d75d20d3]:hover{opacity:1}.graph-hint[data-v-d75d20d3]{position:fixed;bottom:7rem;right:1.2rem;z-index:2;font-size:.6rem;opacity:.3;pointer-events:none;font-family:DM Mono,monospace;letter-spacing:.03rem}.graph-tooltip[data-v-d75d20d3]{position:fixed;z-index:3;pointer-events:none;font-family:DM Mono,monospace;font-size:.65rem;padding:.2rem .55rem;border:1px solid;border-radius:4px;white-space:nowrap;letter-spacing:.03rem}.graph-isolated-badge[data-v-d75d20d3]{position:fixed;top:72px;left:50%;transform:translate(-50%);z-index:3;font-family:DM Mono,monospace;font-size:.65rem;padding:.2rem .6rem;border:1px solid;border-radius:4px;display:flex;align-items:center;gap:.5rem;letter-spacing:.05rem}.graph-isolated-badge button[data-v-d75d20d3]{background:none;border:none;cursor:pointer;font-size:.7rem;padding:0}.tt-enter-active[data-v-d75d20d3],.tt-leave-active[data-v-d75d20d3]{transition:opacity .1s ease}.tt-enter-from[data-v-d75d20d3],.tt-leave-to[data-v-d75d20d3]{opacity:0}
