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