.mermaid-container{@apply my-6 text-center;}.mermaid{@apply bg-white rounded-xl shadow-lg p-6 inline-block border border-gray-100;min-width:300px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.echarts-container{@apply my-6;}.echarts-chart{@apply bg-white rounded-xl shadow-lg border border-gray-100 p-4;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.echarts-container .error{@apply bg-red-50 border border-red-200 text-red-700 px-4 py-3 rounded-xl text-center shadow-sm;}.code-block-container{@apply my-6 rounded-xl overflow-hidden shadow-lg border border-gray-300;background:linear-gradient(135deg,#1f2937,#111827)}.code-header{@apply flex items-center justify-between px-6 py-4 border-b border-gray-600;background:linear-gradient(135deg,#374151,#1f2937);min-height:60px}.code-language{@apply text-sm font-bold text-gray-200 uppercase tracking-wider;text-shadow:0 1px 2px rgba(0,0,0,.5)}.code-content-wrapper{@apply relative;}.copy-button{@apply absolute top-4 right-4 p-2.5 text-gray-300 hover:text-white bg-gray-700/90 hover:bg-gray-600 rounded-lg transition-all duration-200 border-0;backdrop-filter:blur(8px);z-index:20;box-shadow:0 2px 8px #0000004d}.copy-button:hover{@apply shadow-lg transform scale-110;box-shadow:0 4px 12px #0006}.copy-button.copied{@apply text-green-300 bg-green-700/90;box-shadow:0 0 16px #22c55e66;animation:copy-success .5s ease-out}.copy-button.copy-error{@apply text-red-300 bg-red-700/90;box-shadow:0 0 16px #ef444466;animation:copy-success .5s ease-out}.copy-button svg{@apply transition-transform duration-200;width:18px;height:18px}.copy-button:active{transform:scale(.95)}.code-block{@apply !m-0 !p-0 overflow-x-auto;background:linear-gradient(135deg,#1f2937,#111827)}.code-block code{@apply block pl-6 pr-20 py-6 text-sm leading-relaxed text-gray-100;counter-reset:line;font-family:JetBrains Mono,Fira Code,SF Mono,Monaco,Inconsolata,Roboto Mono,Consolas,Ubuntu Mono,monospace;background:transparent;min-height:80px}.code-line{@apply block hover:bg-gray-700/30 pl-2 pr-4 py-0.5 -ml-2 rounded transition-colors duration-200;min-height:1.75rem;display:flex;align-items:center}.code-line:before{counter-increment:line;content:counter(line);@apply inline-block w-12 mr-6 text-right text-gray-500 select-none font-mono text-xs flex-shrink-0;border-right:1px solid #374151;padding-right:1rem;line-height:1.75rem}.hljs{@apply bg-transparent;color:#e5e7eb}.hljs-comment,.hljs-quote{color:#9ca3af;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-addition{color:#c084fc;font-weight:600}.hljs-number,.hljs-string,.hljs-meta .hljs-string,.hljs-literal,.hljs-doctag,.hljs-regexp{color:#34d399}.hljs-title,.hljs-section,.hljs-name,.hljs-selector-id,.hljs-selector-class{color:#60a5fa;font-weight:600}.hljs-attribute,.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-class .hljs-title,.hljs-type{color:#fbbf24}.hljs-symbol,.hljs-bullet,.hljs-subst,.hljs-meta,.hljs-meta .hljs-keyword,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-link{color:#22d3ee}.hljs-built_in,.hljs-deletion{color:#f87171}.hljs-formula{background:#37415180;padding:2px 4px;border-radius:4px}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700;color:#f3f4f6}.hljs-function .hljs-title{color:#93c5fd;font-weight:600}.hljs-operator{color:#f472b6}.hljs-punctuation{color:#d1d5db}.hljs-tag{color:#c084fc}.hljs-tag .hljs-name{color:#60a5fa}.hljs-tag .hljs-attr{color:#fbbf24}@media (max-width: 768px){.code-header{@apply px-4 py-3;min-height:50px}.code-line:before{@apply w-8 mr-4 text-xs;padding-right:.5rem}.code-block code{@apply text-xs pl-4 pr-16 py-4;}.copy-button{@apply top-3 right-3 p-2;}.copy-button svg{width:16px;height:16px}.echarts-chart{height:300px!important}.mermaid{@apply p-4;min-width:250px}}@media (prefers-color-scheme: dark){.mermaid,.echarts-chart{@apply bg-gray-800 border-gray-700;}.echarts-container .error{@apply bg-red-900/30 border-red-700 text-red-300;}}.code-block::-webkit-scrollbar{height:10px}.code-block::-webkit-scrollbar-track{background:#1f2937;border-radius:6px}.code-block::-webkit-scrollbar-thumb{background:#4b5563;border-radius:6px;border:2px solid #1f2937}.code-block::-webkit-scrollbar-thumb:hover{background:#6b7280}.code-block-container{transition:all .3s ease-in-out}.code-block-container:hover{transform:translateY(-2px);box-shadow:0 12px 25px -5px #00000040,0 10px 10px -5px #0000001a}.mermaid-container:hover .mermaid,.echarts-container:hover .echarts-chart{transform:translateY(-1px);box-shadow:0 8px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transition:all .2s ease-in-out}.code-line:hover:before{color:#9ca3af;font-weight:600}@keyframes copy-success{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:var(--text-color);background-color:var(--background-color);margin:0 auto;padding:20px}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.3}.content h1{font-size:2.5em;border-bottom:2px solid var(--primary-color);padding-bottom:10px;color:var(--primary-color)}.content h2{font-size:2em;color:var(--secondary-color)}.content h3{font-size:1.5em}.content p{margin-bottom:1.5em}.content a{color:var(--primary-color);text-decoration:none;border-bottom:1px solid transparent;transition:border-bottom-color .3s ease}.content a:hover{border-bottom-color:var(--primary-color)}.content code{background-color:var(--code-background);padding:.2em .4em;border-radius:3px;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:.9em}.content blockquote{border-left:4px solid var(--blockquote-color);color:#555;padding:.5em 1em;margin:1em 0;background-color:#f9f9f9;font-style:italic}.content img{max-width:100%;height:auto;border-radius:5px;box-shadow:0 2px 4px #0000001a}.content table{border-collapse:collapse;width:100%;margin-bottom:1.5em}.content th,.content td{border:1px solid #e1e4e8;padding:8px 12px}.content th{background-color:#f6f8fa;font-weight:600}.content hr{border:0;height:1px;background-color:#e1e4e8;margin:2em 0}.content code{padding:10px}.content pre{@apply !px-0 rounded-lg p-2;}.content code{@apply text-sm md:text-base !leading-loose;}.content pre>code{counter-reset:line}.content code[data-theme*=" "],.content code[data-theme*=" "] span{color:var(--shiki-light);background-color:var(--shiki-light-bg)}.content code[data-line-numbers]{counter-reset:line}.content code[data-line-numbers]>[data-line]:before{counter-increment:line;content:counter(line);@apply inline-block w-4 mr-4 text-right text-gray-500;}
