@keyframes ihub-pattern-drift{0%{background-position:0 0,30px 30px}to{background-position:60px 60px,90px 90px}}@keyframes ihub-pulse-subtle{0%,to{opacity:.6}50%{opacity:1}}.ihub-hero-pattern{background-color:hsl(var(--primary)/.05);background-image:radial-gradient(circle,hsl(var(--primary)/.1) 1.5px,transparent 1.5px),radial-gradient(circle,hsl(var(--primary)/.06) 1px,transparent 1px);background-size:40px 40px,20px 20px;background-position:0 0,30px 30px;animation:ihub-pattern-drift 20s linear infinite}.ihub-hero-pattern-label{animation:ihub-pulse-subtle 4s ease-in-out infinite}.blog-content{font-size:1.0625rem;line-height:1.8;color:hsl(var(--muted-foreground))}.blog-content p:first-of-type:first-letter{font-size:3.5rem;font-weight:700;float:left;line-height:1;margin-right:.5rem;margin-top:.1rem;color:var(--primary)}.blog-content h1,.blog-content h2,.blog-content h3,.blog-content h4,.blog-content h5,.blog-content h6{font-weight:700;letter-spacing:-.025em;margin-bottom:.5rem}.blog-content div,.blog-content h1,.blog-content h2,.blog-content h3,.blog-content h4,.blog-content h5,.blog-content h6,.blog-content p{color:var(--foreground)}.blog-content h2{font-size:1.875rem;margin-top:4rem;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid hsl(var(--border))}.blog-content h3{font-size:1.5rem;margin-top:3rem;margin-bottom:1rem;color:hsl(var(--primary))}.blog-content h4{font-size:1.25rem;margin-top:2rem;margin-bottom:.75rem}.blog-content p{margin-bottom:1.5rem;color:hsl(var(--muted-foreground));line-height:1.8}.blog-content a{color:hsl(var(--primary));font-weight:500;text-decoration:none;border-bottom:1px solid hsl(var(--primary)/.3);transition:all .2s ease-in-out}.blog-content a:hover{border-bottom-color:hsl(var(--primary));color:hsl(var(--primary)/.8)}.blog-content b,.blog-content strong{color:hsl(var(--foreground));font-weight:600}.blog-content em,.blog-content i{font-style:italic}.blog-content ol,.blog-content ul{margin:2rem 0;padding-left:1.5rem}.blog-content ul{list-style-type:disc}.blog-content ol{list-style-type:decimal}.blog-content li{margin:.75rem 0;color:hsl(var(--muted-foreground));line-height:1.7}.blog-content li::marker{color:hsl(var(--primary))}.blog-content ol ol,.blog-content ol ul,.blog-content ul ol,.blog-content ul ul{margin:.5rem 0}.blog-content blockquote{margin:2rem 0;padding:1rem 1.5rem;background:hsl(var(--primary)/.05);border-left:4px solid hsl(var(--primary));border-radius:0 .5rem .5rem 0;font-style:italic;color:hsl(var(--muted-foreground))}.blog-content blockquote p,.blog-content blockquote p:last-child{margin-bottom:0}.blog-content code{background:hsl(var(--primary)/.1);color:hsl(var(--primary));padding:.125rem .5rem;border-radius:.25rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:.875rem}.blog-content pre{background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:.5rem;padding:1.5rem;margin:2rem 0;overflow-x:auto}.blog-content pre code{background:transparent;padding:0;color:hsl(var(--foreground));font-size:.875rem;line-height:1.6}.blog-content img{max-width:100%;height:auto;border-radius:.75rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);margin:2rem 0}.blog-content figure{margin:2rem 0}.blog-content figcaption{margin-top:.5rem;font-size:.875rem;color:hsl(var(--muted-foreground));text-align:center;font-style:italic}.blog-content hr{border:none;border-top:2px solid hsl(var(--border));margin:3rem 0}.blog-content table{width:100%;border-collapse:collapse;margin:2rem 0;font-size:.9375rem}.blog-content thead{background:hsl(var(--muted));border-bottom:2px solid hsl(var(--border))}.blog-content th{padding:.75rem 1rem;text-align:left;font-weight:600;color:hsl(var(--foreground))}.blog-content td{padding:.75rem 1rem;border-bottom:1px solid hsl(var(--border));color:hsl(var(--muted-foreground))}.blog-content tbody tr:hover{background:hsl(var(--muted)/.5)}.blog-content abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help}.blog-content mark{background:hsl(var(--primary)/.15);color:hsl(var(--foreground));padding:.125rem .25rem;border-radius:.125rem}.blog-content kbd{background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:.25rem;padding:.125rem .375rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:.875rem;box-shadow:0 1px 2px rgba(0,0,0,.1)}@media (max-width:768px){.blog-content{font-size:1rem}.blog-content h2{font-size:1.5rem;margin-top:3rem}.blog-content h3{font-size:1.25rem;margin-top:2rem}.blog-content h4{font-size:1.125rem;margin-top:1.5rem}.blog-content p:first-of-type:first-letter{font-size:2.5rem}.blog-content pre{padding:1rem}}@media print{.blog-content{color:#000}.blog-content a{color:#000;text-decoration:underline;border:none}.blog-content code{background:#f5f5f5;color:#000}.blog-content pre{border:1px solid #ccc;background:#f5f5f5}}