:root{--color-primary-50: #f7f7f7;--color-primary-100: #e6e6e6;--color-primary-200: #cccccc;--color-primary-300: #b3b3b3;--color-primary-400: #999999;--color-primary-500: #808080;--color-primary-600: #666666;--color-primary-700: #4d4d4d;--color-primary-800: #333333;--color-primary-900: #1a1a1a;--color-bg-primary: #ffffff;--color-bg-secondary: #f9fafb;--color-bg-tertiary: #f3f4f6;--color-text-primary: #111827;--color-text-secondary: #4b5563;--color-border: #e5e7eb;--color-shadow: rgba(0, 0, 0, .05);--color-user-message-bg: #f3f4f6;--color-assistant-message-bg: #ffffff;--color-system-message-bg: #f3f4f6;--color-message-border: #e5e7eb}.dark{--color-bg-primary: #111827;--color-bg-secondary: #1f2937;--color-bg-tertiary: #374151;--color-text-primary: #f9fafb;--color-text-secondary: #d1d5db;--color-border: #374151;--color-shadow: rgba(0, 0, 0, .3);--color-user-message-bg: #1f2937;--color-assistant-message-bg: #111827;--color-system-message-bg: #1f2937;--color-message-border: #374151}.hljs{display:block;overflow-x:auto;padding:.5em;color:#e6edf3;background:transparent}html:not(.dark) .hljs{color:#24292f}html:not(.dark) .hljs-comment,html:not(.dark) .hljs-quote{color:#6a737d;font-style:italic}html:not(.dark) .hljs-keyword,html:not(.dark) .hljs-selector-tag,html:not(.dark) .hljs-subst{color:#d73a49}html:not(.dark) .hljs-number,html:not(.dark) .hljs-literal,html:not(.dark) .hljs-variable,html:not(.dark) .hljs-template-variable,html:not(.dark) .hljs-tag .hljs-attr{color:#005cc5}html:not(.dark) .hljs-string,html:not(.dark) .hljs-doctag{color:#032f62}html:not(.dark) .hljs-title,html:not(.dark) .hljs-section,html:not(.dark) .hljs-selector-id{color:#6f42c1;font-weight:600}html:not(.dark) .hljs-subst{font-weight:400}html:not(.dark) .hljs-type,html:not(.dark) .hljs-class .hljs-title,html:not(.dark) .hljs-tag,html:not(.dark) .hljs-name,html:not(.dark) .hljs-attribute{color:#22863a;font-weight:600}.hljs-comment,.hljs-quote{color:#8b949e;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#ff7b72}.hljs-number,.hljs-literal{color:#79c0ff}.hljs-string,.hljs-doctag{color:#a5d6ff}.hljs-title,.hljs-section,.hljs-selector-id{color:#d2a8ff;font-weight:600}.hljs-type,.hljs-class .hljs-title,.hljs-tag,.hljs-name,.hljs-attribute{color:#7ee787;font-weight:600}.hljs-variable,.hljs-template-variable,.hljs-tag .hljs-attr{color:#ffa657}.hljs-function .hljs-title{color:#d2a8ff}.hljs-built_in,.hljs-builtin-name{color:#ffa657}.hljs-meta{color:#8b949e}.hljs-symbol,.hljs-bullet{color:#79c0ff}.hljs-regexp,.hljs-link{color:#a5d6ff}.hljs-deletion{background-color:#ffeef0;color:#ff7b72}.hljs-addition{background-color:#f0fff4;color:#7ee787}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.code-block-wrapper{position:relative;margin:1rem 0;border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px #0000004d,0 1px 2px #0003}html:not(.dark) .code-block-wrapper{box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.code-block-wrapper code{margin:0;background-color:#0d1117!important;border:1px solid #21262d;color:#e6edf3}html:not(.dark) .code-block-wrapper code{background-color:#f8f9fa!important;border:1px solid #e1e4e8;color:#24292f}.markdown-content code:not(pre code){font-weight:500;letter-spacing:-.025em}@media (max-width: 640px){.code-block-wrapper{margin:.75rem 0;border-radius:.375rem}.code-block-wrapper pre{padding:.75rem!important;font-size:.8125rem}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.animate-shimmer{background:linear-gradient(90deg,#fff0,#fff3 20%,#ffffff80 60%,#fff0);background-size:200% auto;animation:shimmer 2s ease-in-out infinite}.dark .animate-shimmer{background:linear-gradient(90deg,#fff0,#ffffff1a 20%,#fff3 60%,#fff0);background-size:200% auto}.shimmer-skeleton{position:relative;overflow:hidden;background-color:#f3f4f6}.dark .shimmer-skeleton{background-color:#374151}.shimmer-skeleton:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.6) 50%,transparent 100%);animation:shimmer 1.5s ease-in-out infinite;z-index:1}.dark .shimmer-skeleton:before{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.15) 50%,transparent 100%)}.shimmer-bg{position:relative;overflow:hidden;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 2s ease-in-out infinite}.dark .shimmer-bg{background:linear-gradient(90deg,#374151 25%,#4b5563,#374151 75%)}#mobile-navigation-bar[data-astro-cid-jgkdi5wx]{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#ffffff40;border:1px solid rgba(255,255,255,.3);outline:1px solid rgba(0,0,0,.08);outline-offset:0;box-shadow:none;padding-bottom:env(safe-area-inset-bottom,0rem);transition:opacity .3s ease-in-out}.dark[data-astro-cid-jgkdi5wx] #mobile-navigation-bar[data-astro-cid-jgkdi5wx]{background-color:#11182759;border-color:#ffffff26;outline:1px solid rgba(255,255,255,.14);box-shadow:none}#mobile-navigation-bar[data-astro-cid-jgkdi5wx]:has(#nav-mobile-chat.scrolling-loader){opacity:.2!important}#mobile-navigation-bar[data-astro-cid-jgkdi5wx]:has(#nav-mobile-chat.hovered-persistent),#mobile-navigation-bar[data-astro-cid-jgkdi5wx]:hover{opacity:1!important}#nav-mobile-chat[data-astro-cid-jgkdi5wx]{background:transparent;border:none;transition:opacity .2s ease-in-out;opacity:1;will-change:opacity;transform:translateZ(0);backface-visibility:hidden}#nav-mobile-chat[data-astro-cid-jgkdi5wx].scrolling-loader{opacity:.2!important;transition:opacity .2s ease-in-out!important}#nav-mobile-chat[data-astro-cid-jgkdi5wx].hovered-persistent{opacity:1!important;transition:opacity .1s ease-in-out!important}@media (hover: none) and (pointer: coarse){#nav-mobile-chat[data-astro-cid-jgkdi5wx]{min-height:44px;min-width:44px}#nav-mobile-chat[data-astro-cid-jgkdi5wx]:active{opacity:1!important;transform:scale(.98)}}@media (prefers-reduced-motion: reduce){#nav-mobile-chat[data-astro-cid-jgkdi5wx]{transition:opacity .1s ease-in-out}}.nav-mobile-btn[data-astro-cid-jgkdi5wx]{min-width:64px;min-height:56px;padding:.75rem .5rem;transition:all .2s ease-in-out;position:relative}.nav-mobile-active[data-astro-cid-jgkdi5wx]{background-color:#f7f7f71f;position:relative}.dark[data-astro-cid-jgkdi5wx] .nav-mobile-active[data-astro-cid-jgkdi5wx]{background-color:#1a1a1a33}.nav-mobile-btn[data-astro-cid-jgkdi5wx]:after{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity .3s ease-in-out}#nav-mobile-chat[data-astro-cid-jgkdi5wx]:after{display:none}.nav-mobile-btn[data-astro-cid-jgkdi5wx]:active:after{opacity:.1}.nav-mobile-btn[data-astro-cid-jgkdi5wx] .material-symbols-rounded[data-astro-cid-jgkdi5wx]{transition:all .2s ease-in-out}.nav-mobile-btn[data-astro-cid-jgkdi5wx].nav-mobile-active .material-symbols-rounded[data-astro-cid-jgkdi5wx]{transform:scale(1.1)}.material-symbols-rounded[data-astro-cid-jgkdi5wx].filled{font-variation-settings:"FILL" 1,"wght" 500,"GRAD" 0,"opsz" 24}@media (max-width: 767px){body{padding-bottom:72px}body.sidebar-visible #mobile-navigation-bar[data-astro-cid-jgkdi5wx]{transform:translate(-200vw)!important;opacity:0!important;pointer-events:none!important}}:root{--color-primary-50: #f7f7f7;--color-primary-100: #e6e6e6;--color-primary-200: #cccccc;--color-primary-300: #b3b3b3;--color-primary-400: #999999;--color-primary-500: #808080;--color-primary-600: #666666;--color-primary-700: #4d4d4d;--color-primary-800: #333333;--color-primary-900: #1a1a1a}.bg-primary-700{background-color:var(--color-primary-700)}.text-primary-200{color:var(--color-primary-200)}.bg-primary-100{background-color:var(--color-primary-100)}.text-primary-600{color:var(--color-primary-600)}.bg-primary-600{background-color:var(--color-primary-600)}.hover\:bg-primary-700:hover{background-color:var(--color-primary-700)}main{width:100%;max-width:100vw;overflow-x:hidden}.markdown-wrapper{max-width:100%;overflow-x:auto}.markdown-content{width:100%;overflow:hidden;max-width:100%}.markdown-content pre{margin:.5em 0;padding:1em;border-radius:.5rem;background-color:#f8f9fa;border:1px solid #e9ecef;position:relative;width:100%;max-width:100%;overflow:hidden;box-shadow:0 1px 3px #0000001a}.dark .markdown-content pre{background-color:#0d1117;border:1px solid #21262d;box-shadow:0 1px 3px #0000004d}.markdown-content code:not(pre code){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;background-color:#f3f4f6;color:#1f2937;padding:.2em .4em;border-radius:.25rem;word-break:break-word;border:1px solid #e5e7eb}.dark .markdown-content code:not(pre code){background-color:#21262d;color:#e6edf3;border:1px solid #30363d}.markdown-content pre code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;line-height:1.5;display:inline-block;min-width:100%;white-space:pre;word-wrap:normal;padding:0;overflow-x:auto;-webkit-overflow-scrolling:touch;-moz-tab-size:2;-o-tab-size:2;tab-size:2;color:#24292f}.dark .markdown-content pre code{color:#e6edf3}.markdown-content pre>code{width:-moz-max-content;width:max-content;min-width:100%}.markdown-content pre::-webkit-scrollbar{display:none}.markdown-content pre{scrollbar-width:none}.dark .markdown-content pre::-webkit-scrollbar{display:none}.dark .markdown-content pre{scrollbar-width:none}.markdown-content p{margin:.5em 0;line-height:1.6;font-size:.875rem;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;hyphens:auto;display:block}.markdown-content ul,.markdown-content ol{margin:1.25em 0 1em;padding-left:1.5em;font-size:clamp(.875rem,2vw,1rem);display:block;list-style-position:outside}.markdown-content ul{list-style-type:disc}.markdown-content ol{list-style-type:decimal}.markdown-content li{display:list-item;margin:.25em 0;line-height:1.6}.markdown-content li:first-child{margin-top:.5em}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin:1em 0 .5em;font-weight:600;display:block}.markdown-content h1{font-size:1.5rem}.markdown-content h2{font-size:1.25rem}.markdown-content h3{font-size:1.125rem}.markdown-content h4{font-size:1rem}.markdown-content h5,.markdown-content h6{font-size:.875rem}.markdown-content blockquote{margin:1em 0;padding:1em 1em 1em 1.5em;border-left:4px solid #e5e7eb;background-color:#f8f9fa;color:#6b7280;font-size:clamp(.875rem,2vw,1rem);border-radius:0 .375rem .375rem 0;position:relative}html{scroll-behavior:smooth}@media (min-width: 768px){.main-wrapper{position:relative;margin-top:0!important;padding-top:0!important}#main-container{margin-top:0!important;padding-top:0!important;overflow:visible!important}body{margin-top:0!important;padding-top:0!important}}.dark .markdown-content blockquote{border-left-color:#30363d;background-color:#161b22;color:#8b949e}@media (max-width: 640px){.markdown-content pre{font-size:.75rem;margin:.5em 0;padding:.75em}.markdown-content p,.markdown-content ul,.markdown-content ol{margin:.75em 0;font-size:.813rem}.markdown-content blockquote{margin:.75em 0;padding-left:.75em}.markdown-content code{font-size:.75rem}.mobile-hidden{display:none}}@media (min-width: 641px){.mobile-only{display:none}}.markdown-container{width:100%;max-width:100%}.code-block-wrapper{position:relative;width:100%;overflow-x:auto;margin:.5em 0}.code-block-wrapper::-webkit-scrollbar{display:none}.code-block-wrapper{scrollbar-width:none}.dark .code-block-wrapper::-webkit-scrollbar{display:none}.dark .code-block-wrapper{scrollbar-width:none}@media (max-width: 640px){.code-block-wrapper:after{width:32px}}.code-block-wrapper pre{overflow-x:auto;-webkit-overflow-scrolling:touch}.code-block-wrapper code{display:inline-block;min-width:100%;white-space:pre}.markdown-content p,.markdown-content ul,.markdown-content ol,.markdown-content li,.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{font-size:.875rem;line-height:1.5;margin:.5em 0}.markdown-content ul,.markdown-content ol{padding-left:1.5em}.markdown-content blockquote{margin:.5em 0;padding-left:1em;border-left:4px solid #e5e7eb;color:#6b7280;font-size:.875rem}@media (max-width: 640px){.markdown-content p,.markdown-content ul,.markdown-content ol,.markdown-content li,.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6,.markdown-content blockquote{font-size:.813rem}}::selection{background-color:#ff5c02;color:#fff}::-moz-selection{background-color:#ff5c02;color:#fff}
