.article-shell{position:relative;margin:-4.5rem auto 0;padding:clamp(1.5rem,2vw,2.75rem);border-radius:1.5rem;overflow:hidden}.article-shell:before{content:"";position:absolute;inset:0 0 auto;height:.375rem;background:linear-gradient(90deg,hsl(var(--primary))0,#33bdcc);pointer-events:none}@media (max-width:640px){.article-shell{margin-top:-2.75rem;border-radius:1.25rem;padding:1.25rem}}.article-meta{margin-bottom:2rem;padding-bottom:1.25rem;border-bottom:1px solid hsl(var(--border)/.8);font-size:.875rem;color:hsl(var(--muted-foreground))}.article-meta .article-meta-main{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center}.article-meta .article-meta-label{font-weight:600;margin-right:.25rem}.article-meta .article-author,.article-meta .article-date{display:inline-flex;align-items:center;gap:.35rem;margin:0;padding:.45rem .8rem;border:1px solid hsl(var(--border)/.75);border-radius:9999px;background:hsl(var(--muted)/.55)}.article-meta .article-author{white-space:nowrap}.article-meta .article-date{flex-wrap:wrap}.article-meta .article-date .article-dot{opacity:.75}.article-meta .article-tags{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.5rem}.article-meta .article-tags .article-tag{display:inline-flex;align-items:center;border-radius:9999px;border:1px solid hsl(var(--border)/.75);padding:.25rem .7rem;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--muted-foreground));background:hsl(var(--muted)/.4)}.article-hero{margin:1.75rem 0 2.25rem}.article-hero img{display:block;width:100%;height:auto;border-radius:1rem;border:1px solid hsl(var(--border));box-shadow:0 20px 40px #0f172a1f}.article-body{font-size:1.04rem;line-height:1.8;color:hsl(var(--foreground)/.9)}.article-body>p:first-of-type{font-size:1.125rem;color:hsl(var(--foreground)/.82)}.article-body p{margin:0 0 1.25rem}.article-body h2,.article-body h3,.article-body h4{font-family:var(--font-sans);font-weight:700;color:hsl(var(--foreground));letter-spacing:-.02em;scroll-margin-top:7rem}.article-body h2,.article-body h3{margin-top:2.5rem}.article-body h4{margin-top:1.75rem}.article-body h2{margin-bottom:1rem;padding-top:1.25rem;border-top:1px solid hsl(var(--border)/.7);font-size:1.7rem}.article-body>:first-child:is(h2,h3,h4){margin-top:0;padding-top:0;border-top:0}.article-body h3{margin-bottom:.75rem;font-size:1.3rem}.article-body h4{margin-bottom:.65rem;font-size:1.1rem}.article-body ol,.article-body ul{margin:0 0 1.25rem;padding-left:1.4rem}.article-body ul{list-style-type:disc}.article-body ol{list-style-type:decimal}.article-body li+li{margin-top:.35rem}.article-body li::marker{color:hsl(var(--primary))}.article-body figure{margin:2rem 0;text-align:left}.article-body figure img{display:block;width:100%;height:auto;margin:0 auto;border-radius:1rem;border:1px solid hsl(var(--border));box-shadow:0 18px 40px #0f172a1f}.article-body figure figcaption{margin-top:.85rem;font-size:.875rem;color:hsl(var(--muted-foreground))}.article-body .guide-inline-media{padding:.9rem;border:1px solid hsl(var(--border)/.75);border-radius:1.25rem;background:linear-gradient(180deg,hsl(var(--muted)/.45)0,hsl(var(--card)))}.article-body .guide-inline-link{display:block;overflow:hidden;border-radius:1rem}.article-body .guide-inline-link img{transition:transform .45s ease}.article-body .guide-inline-link:hover img{transform:scale(1.025)}.article-body a{color:hsl(var(--primary));text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s ease}.article-body a:hover{color:hsl(var(--foreground))}.article-body blockquote{margin:1.75rem 0;padding:1rem 1.25rem;border-left:3px solid hsl(var(--primary));border-radius:0 1rem 1rem 0;background:hsl(var(--muted)/.45);color:hsl(var(--foreground)/.78)}.article-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9em;padding:.15em .4em;border-radius:.25rem;background-color:hsl(var(--muted))}.article-body pre{margin:1.75rem 0;padding:1rem 1.25rem;border-radius:.75rem;background-color:#0b1120;color:#e5e7eb;overflow-x:auto;font-size:.9rem}.article-body pre code{background:0 0;padding:0}.article-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid hsl(var(--border));font-size:.75rem;color:hsl(var(--muted-foreground))}