@keyframes highlight{0%{background-color:#3b82f61a}50%{background-color:#3b82f61a}to{background-color:#0000}}.highlight-category{border-radius:.375rem;transition:all .3s;animation:2s ease-out highlight}.menus-content{scroll-behavior:smooth;scroll-padding-top:80px}.menus-content::-webkit-scrollbar{width:6px}.menus-content::-webkit-scrollbar-thumb{background-color:#9ca3af80;border-radius:3px}.menus-content::-webkit-scrollbar-track{background-color:#f3f4f680}.category-tree .menu-title,.category-tree li{transition:all .3s}.visited-link h2{color:#afb9c1}.force-border-bottom,.last-item-border{border-block-end:1px solid #e5e7eb!important;border-bottom:1px solid #e5e7eb!important}.article-detail .prose{line-height:1.8}.article-detail .prose h1,.article-detail .prose h2,.article-detail .prose h3,.article-detail .prose h4,.article-detail .prose h5,.article-detail .prose h6{margin-top:2rem;margin-bottom:1rem;font-weight:600;line-height:1.4}.article-detail .prose h1{border-bottom:2px solid #e5e7eb;padding-bottom:.5rem;font-size:2rem}.article-detail .prose h2{border-bottom:1px solid #e5e7eb;padding-bottom:.25rem;font-size:1.75rem}.article-detail .prose h3{font-size:1.5rem}.article-detail .prose p{text-align:justify;word-wrap:break-word;margin-bottom:1.25rem}.article-detail .prose blockquote{background:linear-gradient(135deg,#fff7f6 0%,#fff 100%);border-left:4px solid #cd4537;border-radius:.5rem;margin:1.5rem 0;padding:1rem 1.5rem;font-style:italic}.article-detail .prose code{color:#dc2626;background-color:#f1f5f9;border-radius:.25rem;padding:.125rem .25rem;font-size:.875em}.article-detail .prose pre{background:linear-gradient(135deg,#1e293b 0%,#334155 100%);border-radius:.75rem;padding:1.5rem;overflow-x:auto;box-shadow:0 10px 25px #0000001a}.article-detail .prose pre code{color:#e2e8f0;background:0 0;padding:0}.article-detail .prose img{border-radius:.75rem;transition:transform .3s;box-shadow:0 10px 25px #0000001a}.article-detail .prose img:hover{transform:scale(1.02)}.article-detail .prose table{border-collapse:collapse;border-radius:.5rem;width:100%;margin:1.5rem 0;overflow:hidden;box-shadow:0 4px 6px #0000001a}.article-detail .prose th{color:#fff;text-align:left;background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);padding:.75rem;font-weight:600}.article-detail .prose td{border-bottom:1px solid #e5e7eb;padding:.75rem}.article-detail .prose tr:nth-child(2n){background-color:#f9fafb}.article-detail .prose ul,.article-detail .prose ol{margin:1rem 0;padding-left:1.5rem}.article-detail .prose li{margin-bottom:.5rem}.article-detail .prose a{color:#cd4537;border-bottom:1px solid #0000;text-decoration:none;transition:all .3s}.article-detail .prose a:hover{color:#a4352a;border-bottom-color:#a4352a}.dark .article-detail .prose h1,.dark .article-detail .prose h2{border-bottom-color:#374151}.dark .article-detail .prose blockquote{background:linear-gradient(135deg,#ed897f1f 0%,#0f172aa6 100%);border-left-color:#ed897f}.dark .article-detail .prose code{color:#f87171;background-color:#374151}.dark .article-detail .prose tr:nth-child(2n){background-color:#374151}.dark .article-detail .prose td{border-bottom-color:#4b5563}.article-detail .prose pre::-webkit-scrollbar{height:6px}.article-detail .prose pre::-webkit-scrollbar-thumb{background-color:#64748b;border-radius:3px}.article-detail .prose pre::-webkit-scrollbar-track{background-color:#1e293b;border-radius:3px}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@keyframes mermaidErrorIn{0%{opacity:0}to{opacity:1}}
pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#c678dd}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#98c379}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#d19a66}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}
.qNo9uG_dock{right:max(20px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));z-index:40;position:fixed}.qNo9uG_launcher{border-radius:22px;position:relative}.qNo9uG_launcher .qNo9uG_character{width:100%;height:100%}.qNo9uG_launcher .qNo9uG_badge svg{width:10px;height:10px}.qNo9uG_character{--pet-shell:#fffaf3;--pet-shell-shade:#ffe1d8;--pet-rim:#eab4a5;--pet-coral:#ed897f;--pet-face:#303849;--pet-shadow:#33415520;filter:drop-shadow(0 5px 7px #472e2418);display:block}.dark .qNo9uG_character{--pet-shell:#f4e6df;--pet-shell-shade:#e9bbae;--pet-rim:#c6978d;--pet-face:#202637;--pet-shadow:#00000040}.qNo9uG_robot{transform-origin:50px 95px}.qNo9uG_eyes{transform-origin:50px 56px;animation:6.4s ease-in-out infinite qNo9uG_blink}.qNo9uG_arm{transform-origin:85px 59px;transition:transform .25s}.qNo9uG_launcher:hover .qNo9uG_arm,.qNo9uG_launcher:focus-visible .qNo9uG_arm{transform:rotate(-20deg)}.qNo9uG_spark{opacity:0;transform-origin:90px 24px}.qNo9uG_celebrating .qNo9uG_robot{animation:.65s qNo9uG_nod}.qNo9uG_celebrating .qNo9uG_spark{animation:.8s both qNo9uG_sparkle}.qNo9uG_name{border:1px solid hsl(var(--border));background:hsl(var(--background) / .94);color:hsl(var(--foreground));letter-spacing:.04em;border-radius:9px;padding:1px 7px;font-size:10px;line-height:15px;position:absolute;bottom:-3px;left:50%;transform:translate(-50%)}.qNo9uG_badge{border:2px solid hsl(var(--background));color:#fff;font-variant-numeric:tabular-nums;background:#ef4444;border-radius:12px;align-items:center;gap:3px;min-width:19px;padding:0 4px;font-size:10px;line-height:15px;display:flex;position:absolute;top:-2px;right:-4px}.qNo9uG_messageHalo{opacity:0;pointer-events:none;border:2px solid #ed897f;border-radius:50%;position:absolute;inset:8% -5%}.qNo9uG_messageBubble{background:#fff;border:1px solid #e2e8f0;border-radius:16px;width:min(248px,100vw - 32px);padding:14px 16px 9px;animation:.2s ease-out both qNo9uG_bubbleIn;position:absolute;bottom:calc(100% + 14px);right:0;box-shadow:0 10px 32px #0f172a20}.qNo9uG_messageBubble:after{content:"";background:inherit;border-right:inherit;border-bottom:inherit;width:9px;height:9px;position:absolute;bottom:-5px;right:24px;transform:rotate(45deg)}.dark .qNo9uG_messageBubble{background:#0f172a;border-color:#334155;box-shadow:0 10px 32px #00000040}.qNo9uG_attention .qNo9uG_robot{animation:.85s both qNo9uG_messageNod}.qNo9uG_attention .qNo9uG_arm{animation:.9s both qNo9uG_messageWave}.qNo9uG_attention .qNo9uG_antennae{animation:.75s 2 qNo9uG_messageSignal}.qNo9uG_attention .qNo9uG_messageHalo{animation:.8s ease-out 2 qNo9uG_messageHalo}.qNo9uG_attention .qNo9uG_badge{animation:1.1s both qNo9uG_messageBadge}@keyframes qNo9uG_messageNod{0%,to{transform:translateY(0)rotate(0)}30%{transform:translateY(-3px)rotate(-4deg)}65%{transform:translateY(-1px)rotate(3deg)}}@keyframes qNo9uG_messageWave{0%,to{transform:rotate(0)}22%,62%{transform:rotate(-50deg)}42%,82%{transform:rotate(-24deg)}}@keyframes qNo9uG_messageSignal{0%,to{filter:brightness()}50%{filter:brightness(1.3)}}@keyframes qNo9uG_messageHalo{0%{opacity:0;transform:scale(.82)}30%{opacity:.4}to{opacity:0;transform:scale(1.18)}}@keyframes qNo9uG_messageBadge{0%,to{transform:scale(1)}28%{transform:scale(1.2)rotate(5deg)}52%{transform:scale(.96)rotate(-3deg)}76%{transform:scale(1.1)rotate(2deg)}}@keyframes qNo9uG_bubbleIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes qNo9uG_blink{0%,42%,46%,to{transform:scaleY(1)}44%{transform:scaleY(.12)}}@keyframes qNo9uG_nod{0%,to{transform:translateY(0)rotate(0)}30%{transform:translateY(-5px)rotate(-5deg)}65%{transform:translateY(-2px)rotate(4deg)}}@keyframes qNo9uG_sparkle{0%,to{opacity:0;transform:scale(.4)}35%,65%{opacity:1;transform:scale(1)}}@media (max-width:640px){.qNo9uG_dock{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.qNo9uG_eyes,.qNo9uG_celebrating .qNo9uG_robot,.qNo9uG_celebrating .qNo9uG_spark,.qNo9uG_attention .qNo9uG_robot,.qNo9uG_attention .qNo9uG_arm,.qNo9uG_attention .qNo9uG_antennae,.qNo9uG_attention .qNo9uG_messageHalo,.qNo9uG_attention .qNo9uG_badge,.qNo9uG_messageBubble{animation:none}.qNo9uG_arm{transition:none}}
