:root{--canvas: #05070A;--surface: #0F1218;--surface-border: #1a1f2e;--primary: #00FF9D;--primary-dim: rgba(0, 255, 157, .6);--primary-glow: rgba(0, 255, 157, .08);--primary-glow-strong: rgba(0, 255, 157, .15);--secondary: #818CF8;--text-primary: #FFFFFF;--text-secondary: #94A3B8;--text-muted: #64748b;--divider: #1e293b;--warning: #F59E0B;--error: #EF4444;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--article-bg: #0F1218;--prose-text: #CBD5E1;--link-prose: #4ADE80;--link-hover: #00FF9D;--code-bg: #0A0E14}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--canvas);color:var(--text-secondary);font-family:DM Sans,system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}::selection{background:#00ff9d40;color:#fff}.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);animation:revealFallback 0s 2s forwards}.reveal.visible{opacity:1;transform:translateY(0);animation:none}@keyframes revealFallback{to{opacity:1;transform:translateY(0)}}h1,h2,h3,h4{font-family:Syne,system-ui,sans-serif;color:var(--text-primary);line-height:1.3}a{color:var(--primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--link-hover)}.prose{color:var(--prose-text);font-size:18px;line-height:1.75;max-width:72ch}.prose h2{font-size:28px;font-weight:700;margin-top:2.5rem;margin-bottom:1rem;scroll-margin-top:5rem}.prose h3{font-size:22px;font-weight:700;margin-top:2rem;margin-bottom:.75rem;scroll-margin-top:5rem}.prose p{margin-bottom:1.25rem}.prose a{color:var(--link-prose);text-decoration:underline;text-underline-offset:3px;text-decoration-color:#4ade804d;transition:color .2s ease,text-decoration-color .2s ease}.prose a:hover{color:var(--link-hover);text-decoration-color:var(--link-hover)}.prose strong{color:var(--text-primary);font-weight:600}.prose ul,.prose ol{margin-bottom:1.25rem;padding-left:1.5rem}.prose li{margin-bottom:.5rem}.prose li::marker{color:var(--primary-dim)}.prose pre{background:var(--code-bg);border-left:3px solid var(--primary-dim);border-radius:8px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;overflow-x:auto;font-size:14px;line-height:1.7;position:relative}.prose code{font-family:JetBrains Mono,Fira Code,monospace}.prose :not(pre)>code{background:var(--surface);border:1px solid var(--surface-border);border-radius:4px;padding:.15rem .4rem;font-size:.875em}.prose blockquote{border-left:3px solid var(--primary);padding-left:1.25rem;margin-bottom:1.25rem;color:var(--text-muted);font-style:italic}.prose img{border-radius:8px;border:1px solid var(--surface-border);max-width:100%;height:auto;margin-bottom:1rem}.prose figcaption{color:var(--text-muted);font-size:14px;text-align:center;margin-top:-.5rem;margin-bottom:1.5rem}.prose table{width:100%;border-collapse:collapse;margin-bottom:1.5rem;background:var(--surface);border-radius:8px;overflow:hidden}.prose th{background:var(--surface);border-bottom:1px solid var(--divider);padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-primary)}.prose td{padding:.75rem 1rem;border-bottom:1px solid var(--surface-border)}.prose .table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.prose hr{border:none;border-top:1px solid var(--divider);margin:2.5rem 0}.copy-button{position:absolute;top:.5rem;right:.5rem;background:var(--surface);border:1px solid var(--surface-border);border-radius:4px;color:var(--text-muted);padding:.25rem .5rem;font-size:12px;cursor:pointer;opacity:0;transition:opacity .2s ease,color .2s ease}pre:hover .copy-button{opacity:1}.copy-button:hover,.copy-button.copied{color:var(--primary)}
