@tailwind base;@tailwind components;@tailwind utilities;.article-prose{@apply max-w-none;font-family:inter,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,sans-serif;line-height:1.75;color:#1f2937;--article-line-height:1.75;--article-margin-bottom:1.5rem;--article-margin-top:0;--article-padding-left:0}.article-prose svg,.article-prose button{margin:0 !important;padding:0 !important}.article-prose h1,.article-prose h2,.article-prose h3,.article-prose h4,.article-prose h5,.article-prose h6,.article-prose p,.article-prose ul,.article-prose ol,.article-prose li,.article-prose blockquote,.article-prose table,.article-prose th,.article-prose td,.article-prose dl,.article-prose dt,.article-prose dd,.article-prose pre,.article-prose code,.article-prose hr,.article-prose abbr,.article-prose mark,.article-prose sub,.article-prose sup{display:block !important;line-height:2rem !important;margin:0 !important;padding:0 !important;list-style:none !important}.article-prose small{font-size:.875rem !important}.article-prose h1{@apply text-4xl md:text-5xl font-bold text-dark-900 mb-8 mt-12 scroll-mt-24;font-size:2.25rem !important;font-weight:700 !important;margin-bottom:2rem !important;margin-top:3rem !important;color:#0f172a !important;display:block !important}.article-prose h2{@apply text-3xl md:text-4xl font-bold text-dark-900 mb-6 mt-12 scroll-mt-20;font-size:1.875rem !important;font-weight:700 !important;margin-bottom:1.5rem !important;margin-top:3rem !important;color:#0f172a !important;display:block !important}.article-prose h3{@apply text-2xl md:text-3xl font-semibold text-dark-900 mb-4 mt-10 scroll-mt-16;font-size:1.5rem !important;font-weight:600 !important;margin-bottom:1rem !important;margin-top:2.5rem !important;color:#0f172a !important;display:block !important}.article-prose h4{@apply text-xl md:text-2xl font-semibold text-dark-900 mb-3 mt-8 scroll-mt-12;font-size:1.25rem !important;font-weight:600 !important;margin-bottom:.75rem !important;margin-top:2rem !important;color:#0f172a !important;display:block !important}.article-prose h5{@apply text-lg md:text-xl font-medium text-dark-900 mb-2 mt-6 scroll-mt-8;font-size:1.125rem !important;font-weight:500 !important;margin-bottom:.5rem !important;margin-top:1.5rem !important;color:#0f172a !important;display:block !important}.article-prose h6{@apply text-base md:text-lg font-medium text-dark-900 mb-2 mt-4 scroll-mt-6;font-size:1rem !important;font-weight:500 !important;margin-bottom:.5rem !important;margin-top:1rem !important;color:#0f172a !important;display:block !important}.article-prose p{@apply text-base md:text-lg text-dark-700 mb-6;font-size:1rem !important;margin-bottom:1.5rem !important;margin-top:0 !important;color:#1f2937 !important;display:block !important;line-height:1.75 !important}.article-prose strong{@apply font-semibold text-dark-900}.article-prose em{@apply italic text-dark-800}.article-prose a{@apply text-primary-600 hover:text-primary-700 underline decoration-2 underline-offset-2 transition-all duration-200 font-medium relative;position:relative !important;background:linear-gradient(120deg,rgba(34,197,94,.1),rgba(59,130,246,.1)) !important;background-size:100% 0 !important;background-repeat:no-repeat !important;background-position:0 100% !important;transition:all .3s ease !important;padding:.125rem .25rem !important;border-radius:.25rem !important;text-decoration:underline !important;text-decoration-color:#22c55e !important;text-decoration-thickness:2px !important;text-underline-offset:.25rem !important}.article-prose a:hover{@apply decoration-primary-700;transform:translateY(-1px) !important;box-shadow:0 4px 12px rgba(34,197,94,.25) !important;background-size:100% 100% !important;color:#15803d !important;text-decoration-color:#15803d !important}.article-prose a::after{content:'';position:absolute !important;bottom:-2px !important;left:0 !important;width:0 !important;height:3px !important;background:linear-gradient(90deg,#22c55e,#3b82f6,#8b5cf6) !important;transition:width .4s ease !important;border-radius:2px !important;box-shadow:0 2px 4px rgba(34,197,94,.3) !important}.article-prose a:hover::after{width:100% !important}.article-prose a[href^=http]::before{content:'↗';@apply inline-block ml-1 text-xs text-primary-500 opacity-0 transition-opacity duration-200;margin-left:.25rem !important;font-size:.75rem !important;color:#22c55e !important;opacity:0 !important;transition:opacity .3s ease !important;font-weight:700 !important;text-shadow:0 1px 2px rgba(34,197,94,.3) !important}.article-prose a[href^=http]:hover::before{opacity:1 !important;transform:scale(1.2) !important}.article-prose a:not([href^=http]){background:linear-gradient(120deg,rgba(34,197,94,8%),rgba(59,130,246,8%)) !important;border-left:2px solid transparent !important;transition:all .3s ease !important}.article-prose a:not([href^=http]):hover{border-left-color:#22c55e !important;padding-left:.5rem !important;background:linear-gradient(120deg,rgba(34,197,94,.15),rgba(59,130,246,.15)) !important}.article-prose ul,.article-prose ol{@apply mb-6 space-y-2;margin-bottom:1.5rem !important;margin-top:0 !important;padding-left:0 !important;display:block !important}.article-prose li{@apply text-base md:text-lg text-dark-700 relative;font-size:1rem !important;margin-bottom:.5rem !important;margin-top:0 !important;color:#1f2937 !important;display:list-item !important}.article-prose ul{list-style:disc !important;padding-left:1.5rem !important}.article-prose ul li{@apply pl-6;padding-left:0 !important;position:relative !important}.article-prose ul li::before{content:'' !important;@apply absolute left-0 top-3 w-2 h-2 bg-primary-500 rounded-full;position:absolute !important;left:-1.5rem !important;top:.75rem !important;width:.5rem !important;height:.5rem !important;background-color:#393c3a !important;border-radius:50% !important}.article-prose ol{list-style:decimal !important;padding-left:1.5rem !important}.article-prose ol li{@apply pl-2;padding-left:0 !important;display:list-item !important}.article-prose blockquote{@apply relative bg-gradient-to-r from-primary-50 to-tech-50 border-l-4 border-primary-500 pl-6 py-4 rounded-r-lg mb-6 italic text-dark-700;background:linear-gradient(to right,#f0fdf4,#eff6ff) !important;border-left:4px solid #22c55e !important;padding:1rem 1.5rem !important;margin-bottom:1.5rem !important;margin-top:0 !important;border-radius:0 .5rem .5rem 0 !important;font-style:italic !important;color:#1f2937 !important;line-height:2rem !important}.article-prose blockquote::before{content:'"';@apply absolute -top-2 -left-2 text-4xl text-primary-500 font-bold}.article-prose blockquote p{@apply mb-0}.article-prose table{@apply w-full border-collapse border border-gray-300 rounded-lg overflow-hidden mb-6 shadow-sm;width:100% !important;border-collapse:collapse !important;border:1px solid #d1d5db !important;border-radius:.5rem !important;overflow:hidden !important;margin-bottom:1.5rem !important;margin-top:0 !important;box-shadow:0 1px 2px rgba(0,0,0,5%) !important;line-height:2rem !important}.article-prose th{@apply bg-gray-50 border border-gray-300 px-4 py-3 text-left font-semibold text-dark-900;background-color:#f9fafb !important;border:1px solid #d1d5db !important;padding:.75rem 1rem !important;text-align:left !important;font-weight:600 !important;color:#0f172a !important;line-height:2rem !important}.article-prose td{@apply border border-gray-300 px-4 py-3 text-dark-700;border:1px solid #d1d5db !important;padding:.75rem 1rem !important;color:#1f2937 !important;line-height:2rem !important}.article-prose tr:nth-child(even){@apply bg-gray-50}.article-prose tr:hover{@apply bg-gray-100}.article-prose pre{@apply relative bg-gradient-to-br from-gray-900 to-gray-800 text-white p-6 rounded-xl overflow-x-auto mb-6 shadow-2xl border border-gray-700;background:linear-gradient(to bottom right,#111827,#1f2937) !important;color:#fff !important;padding:1.5rem !important;padding-top:2.5rem !important;border-radius:.75rem !important;overflow-x:auto !important;margin-bottom:1.5rem !important;margin-top:0 !important;box-shadow:0 25px 50px -12px rgba(0,0,0,.25) !important;border:1px solid #374151 !important;font-family:jetbrains mono,fira code,consolas,monaco,monospace !important;font-size:14px !important;line-height:1.5rem !important}.article-prose pre code{@apply block p-0 text-sm;padding:0 !important;font-family:inherit !important;font-size:inherit !important;line-height:inherit !important}.article-prose code:not(pre code){@apply inline-block bg-primary-50 text-primary-700 px-2 py-1 rounded text-sm font-mono border border-primary-200;background-color:#f0fdf4 !important;color:#15803d !important;padding:.25rem .5rem !important;border-radius:.25rem !important;font-size:.875rem !important;font-family:jetbrains mono,fira code,consolas,monaco,monospace !important;border:1px solid #bbf7d0 !important}.code-copy-btn{@apply absolute bottom-3 right-3 p-0 text-xs bg-gray-800 hover:bg-gray-700 text-gray-300 hover:text-white rounded-md transition-all duration-200 z-10 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2;width:2rem;height:2rem;display:flex;position:absolute;right:3.5rem;top:.5rem;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px);opacity:.8}.code-copy-btn:hover{opacity:1;transform:scale(1.05)}.code-copy-btn:hover{@apply shadow-lg}.code-copy-btn.success{@apply bg-green-100 hover:bg-green-200 text-green-700;border:1px solid rgba(34,197,94,.3)}.code-copy-btn.error{@apply bg-red-100 hover:bg-red-200 text-red-700;border:1px solid rgba(239,68,68,.3)}.code-copy-btn svg{width:1.125rem;height:1.125rem;display:block;flex-shrink:0}.article-prose pre[class*=language-]{background:#2d2d2d !important;border-radius:.5rem !important;margin:1.5rem 0 !important;overflow-x:auto !important}.article-prose code[class*=language-]{font-family:jetbrains mono,fira code,consolas,monaco,monospace !important;font-size:14px !important;line-height:1.5 !important}.article-prose .highlight{position:relative}.article-prose .highlight::before{content:attr(data-lang);position:absolute;top:.75rem;right:.75rem;background:rgba(255,255,255,.1);color:#9ca3af;font-size:.625rem;font-weight:500;padding:.125rem .375rem;border-radius:.25rem;text-transform:uppercase;letter-spacing:.025em;z-index:5;font-family:jetbrains mono,fira code,consolas,monaco,monospace;backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1)}.article-prose hr{@apply border-0 border-t border-gray-300 my-8;border:0 !important;border-top:1px solid #d1d5db !important;margin:2rem 0 !important;line-height:2rem !important}.article-prose abbr{@apply border-b border-dotted border-gray-400 cursor-help;border-bottom:1px dotted #9ca3af !important;cursor:help !important;line-height:2rem !important}.article-prose small{@apply text-sm text-gray-600;font-size:.875rem !important;color:#6b7280 !important;line-height:2rem !important}.article-prose mark{@apply bg-yellow-200 text-dark-900 px-1 rounded;background-color:#fef3c7 !important;color:#0f172a !important;padding:.25rem !important;border-radius:.25rem !important;line-height:2rem !important}.article-prose sub,.article-prose sup{@apply text-xs;font-size:.75rem !important;line-height:2rem !important}.article-prose sub{bottom:-.25em !important}.article-prose sup{top:-.5em !important}.article-prose dl{@apply mb-6;margin-bottom:1.5rem !important;line-height:2rem !important}.article-prose dt{@apply font-semibold text-dark-900 mb-2;font-weight:600 !important;color:#0f172a !important;margin-bottom:.5rem !important;line-height:2rem !important}.article-prose dd{@apply text-dark-700 mb-4 ml-4;color:#1f2937 !important;margin-bottom:1rem !important;margin-left:1rem !important;line-height:2rem !important}.article-prose img{@apply max-w-full h-auto rounded-lg shadow-md}.article-prose img:hover{@apply shadow-lg transition-shadow duration-200}@media(max-width:1024px){.article-prose{@apply text-base}.article-prose h2{@apply text-2xl}.article-prose h3{@apply text-xl}}@media(max-width:768px){.article-prose pre{@apply text-sm p-4;font-size:12px !important;padding:1rem !important;line-height:1.5rem !important}.code-copy-btn{@apply bottom-2 right-2;width:1.75rem;height:1.75rem}.code-copy-btn svg{width:1rem;height:1rem}.article-prose .highlight::before{top:.5rem;right:.5rem;left:auto;font-size:.5rem;padding:.125rem .25rem}.article-prose h1{@apply text-3xl;font-size:1.875rem !important}.article-prose h2{@apply text-2xl;font-size:1.5rem !important}.article-prose h3{@apply text-xl;font-size:1.25rem !important}.article-prose p{@apply text-base;font-size:1rem !important}}@media(max-width:640px){.article-prose{@apply text-sm;font-size:.875rem !important}.article-prose h1{@apply text-2xl;font-size:1.5rem !important}.article-prose h2{@apply text-xl;font-size:1.25rem !important}.article-prose h3{@apply text-lg;font-size:1.125rem !important}.article-prose pre{@apply text-xs p-3;font-size:.75rem !important;padding:.75rem !important;padding-top:2rem !important;line-height:1.5rem !important}.code-copy-btn{@apply bottom-1.5 right-1.5;width:1.5rem;height:1.5rem}.code-copy-btn svg{width:.875rem;height:.875rem}}@media(prefers-color-scheme:dark){.article-prose{@apply text-gray-100;color:#f8fafc !important}.article-prose h1,.article-prose h2,.article-prose h3,.article-prose h4,.article-prose h5,.article-prose h6{@apply text-white;color:#151414 !important}.article-prose p{@apply text-gray-200;color:#222223 !important}.article-prose pre{@apply bg-gray-800 text-gray-100;background:#1f2937 !important;color:#f1f5f9 !important}.article-prose blockquote{@apply bg-gray-800 border-primary-400;background:#1f2937 !important;border-left-color:#60a5fa !important}.article-prose table{border-color:#374151 !important}.article-prose th{background-color:#374151 !important;border-color:#4b5563 !important;color:#f9fafb !important}.article-prose td{border-color:#4b5563 !important;color:#d1d5db !important}.article-prose tr:nth-child(even){background-color:#374151 !important}.article-prose tr:hover{background-color:#4b5563 !important}}.mermaid-wrapper{@apply my-8}.mermaid-container{@apply bg-white border border-gray-200 rounded-lg shadow-sm overflow-hidden;transition:all .3s ease}.mermaid-container.fullscreen{position:fixed !important;top:0 !important;left:0 !important;width:100vw !important;height:100vh !important;z-index:9999 !important;border-radius:0 !important;background:#fff !important}.mermaid-header{@apply bg-gradient-to-r from-blue-50 to-indigo-50 px-4 py-3 border-b border-gray-200 flex items-center justify-between}.mermaid-content{@apply p-6 bg-gray-50}.mermaid-container.fullscreen .mermaid-content{height:calc(100vh - 60px) !important;overflow:auto !important}.mermaid-diagram{@apply text-center}.mermaid-loading{@apply flex items-center justify-center py-8}.mermaid-svg{max-width:100% !important;height:auto !important;display:block !important;margin:0 auto !important}.mermaid-error{@apply bg-red-50 border border-red-200 rounded-lg p-4 text-center}.mermaid-fullscreen{position:fixed !important;top:0 !important;left:0 !important;width:100vw !important;height:100vh !important;z-index:9999 !important;background-color:rgba(255,255,255,.95) !important;backdrop-filter:blur(10px) !important;overflow:auto !important;padding:2rem !important}.mermaid-fullscreen .mermaid-svg{max-width:none !important;width:100% !important;height:auto !important}.mermaid-copy-btn,.mermaid-fullscreen-btn,.mermaid-retry-btn{@apply p-0 text-xs bg-gray-800 hover:bg-gray-700 text-gray-300 hover:text-white rounded-md transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px);opacity:.8}.mermaid-copy-btn:hover,.mermaid-fullscreen-btn:hover,.mermaid-retry-btn:hover{opacity:1;transform:scale(1.05);@apply shadow-lg}.mermaid-copy-btn svg,.mermaid-fullscreen-btn svg,.mermaid-retry-btn svg{width:1.125rem;height:1.125rem;display:block;flex-shrink:0}@media print{.article-prose{@apply text-black;color:#000 !important}.article-prose pre{@apply bg-gray-100 text-black border;background:#f3f4f6 !important;color:#000 !important;border:1px solid #d1d5db !important}.article-prose img{@apply max-w-full h-auto}.article-prose h1,.article-prose h2,.article-prose h3,.article-prose h4,.article-prose h5,.article-prose h6{color:#000 !important}.article-prose p{color:#000 !important}.mermaid-header{display:none !important}.mermaid-content{padding:0 !important;background:0 0 !important}}