.devnotes-article-page{--article-surface:#14191f;background:var(--article-surface)}.devnotes-article-section{background:#14191f;min-height:calc(100vh - 5rem);padding:clamp(2.5rem,4vw,3.75rem) 1rem clamp(4rem,8vw,6rem)}.devnotes-article-shell{z-index:1;width:100%;max-width:52rem;margin-inline:auto;position:relative}.devnotes-article-back,.devnotes-related-all-link,.devnotes-related-link,.devnotes-article-footer-link{color:hsl(var(--primary));align-items:center;text-decoration:none;transition:color .18s,gap .18s,border-color .18s;display:inline-flex}.devnotes-article-back{border-bottom:1px solid hsl(var(--primary) / .58);gap:.55rem;padding-bottom:.2rem;font-size:.78rem;font-weight:650}.devnotes-article-back svg,.devnotes-related-all-link svg,.devnotes-related-link svg,.devnotes-article-footer-link svg{flex:none;width:1rem;height:1rem;transition:transform .18s}.devnotes-article-back:hover,.devnotes-related-all-link:hover,.devnotes-related-link:hover,.devnotes-article-footer-link:hover{color:hsl(var(--foreground))}.devnotes-article-back:hover svg{transform:translate(-.15rem)}.devnotes-related-all-link:hover svg,.devnotes-related-link:hover svg,.devnotes-article-footer-link:hover svg{transform:translate(.15rem)}.devnotes-article-header{border-bottom:1px solid hsl(var(--primary) / .35);margin-top:clamp(2.8rem,6vw,4.2rem);padding-bottom:1.55rem}.devnotes-article-eyebrow{color:hsl(var(--primary));letter-spacing:.27em;text-transform:uppercase;align-items:center;gap:.8rem;margin:0;font-size:.7rem;font-weight:700;line-height:1.2;display:flex}.devnotes-article-eyebrow-line{background:currentColor;width:2rem;height:1px;display:inline-block}.devnotes-article-header h1{max-width:50rem;color:hsl(var(--foreground));letter-spacing:-.045em;margin:.85rem 0 0;font-size:clamp(2.15rem,4vw,3.35rem);font-weight:700;line-height:1.04}.devnotes-article-title-rule{background:hsl(var(--primary));width:2.1rem;height:2px;margin-top:.85rem;display:block}.devnotes-article-description{max-width:47rem;color:hsl(var(--foreground) / .78);margin:1rem 0 0;font-size:clamp(1rem,1.8vw,1.13rem);line-height:1.6}.devnotes-article-meta{color:hsl(var(--muted-foreground));letter-spacing:.16em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:1.25rem;font-size:.68rem;font-weight:650;line-height:1.4;display:flex}.devnotes-article-meta-separator{background:hsl(var(--muted-foreground) / .65);width:1px;height:.95rem}.devnotes-article-content{--tw-prose-body:hsl(var(--foreground) / .8);--tw-prose-headings:hsl(var(--foreground));--tw-prose-links:hsl(var(--primary));--tw-prose-bold:hsl(var(--primary));--tw-prose-bullets:hsl(var(--primary));--tw-prose-counters:hsl(var(--primary));counter-reset:article-section;max-width:none;margin-top:0;padding:0 0 0 4.25rem;font-size:.94rem;line-height:1.65;color:hsl(var(--foreground) / .8)!important}.devnotes-article-content>h2{border-top:1px solid hsl(var(--border));color:hsl(var(--foreground));letter-spacing:-.015em;counter-increment:article-section;margin:0 0 0 -4.25rem;padding:1.15rem 0 1.1rem 4.25rem;font-size:1.15rem;font-weight:700;line-height:1.35;position:relative}.devnotes-article-content>h2:before{content:counter(article-section, decimal-leading-zero);color:hsl(var(--primary));letter-spacing:.08em;font-variant-numeric:tabular-nums;font-size:.73rem;font-weight:700;line-height:1.4;position:absolute;top:1.25rem;left:0}.devnotes-article-content>h2:after{content:"";background:hsl(var(--primary));width:1.45rem;height:1px;position:absolute;top:1.65rem;left:1.7rem}.devnotes-article-content>h2:first-child{margin-top:0}.devnotes-article-content h3,.devnotes-article-content h4{color:hsl(var(--foreground));margin:1.45rem 0 .55rem;font-weight:700;line-height:1.4}.devnotes-article-content h3{font-size:1.02rem}.devnotes-article-content h4{font-size:.95rem}.devnotes-article-content p{color:hsl(var(--foreground) / .8);margin:.6rem 0;line-height:1.7}.devnotes-article-content strong{color:hsl(var(--primary));font-weight:700}.devnotes-article-content a{color:hsl(var(--primary));text-decoration:underline;-webkit-text-decoration-color:hsl(var(--primary) / .5);text-decoration-color:hsl(var(--primary) / .5);text-underline-offset:.18em}.devnotes-article-content a:hover{color:hsl(var(--foreground))}.devnotes-article-content ul,.devnotes-article-content ol{margin:.7rem 0;padding-left:1.2rem}.devnotes-article-content li{color:hsl(var(--foreground) / .8);margin:.28rem 0;padding-left:.2rem;line-height:1.55}.devnotes-article-content li::marker{color:hsl(var(--primary))}.devnotes-article-content blockquote{border-left:2px solid hsl(var(--primary));color:hsl(var(--foreground) / .76);margin:1.2rem 0;padding:.2rem 0 .2rem 1.1rem;font-style:italic}.devnotes-article-content pre{border:1px solid hsl(var(--border));color:hsl(var(--foreground) / .9);background:#0a0c10cc;border-radius:.25rem;margin:1.3rem 0;padding:1rem 1.1rem;font-size:.78rem;line-height:1.6;overflow-x:auto}.devnotes-article-content pre code{color:inherit;font-size:inherit;white-space:pre;background:0 0;border:0;padding:0;display:block}.devnotes-article-content .devnotes-mermaid{border:1px solid hsl(var(--primary) / .38);background:linear-gradient(145deg,#0a0c10eb,#111b22d1);border-radius:.25rem;margin:1.3rem 0;padding:1rem;overflow-x:auto}.devnotes-article-content .devnotes-mermaid svg{width:100%;max-width:100%;height:auto;margin:0 auto;display:block}.devnotes-article-content code:not(pre code){border:1px solid hsl(var(--border));background:hsl(var(--secondary) / .75);color:hsl(var(--foreground));border-radius:.2rem;padding:.12rem .35rem;font-size:.86em}.devnotes-article-content table{border-collapse:collapse;width:100%;margin:1.25rem 0;font-size:.85rem}.devnotes-article-content th,.devnotes-article-content td{border:1px solid hsl(var(--border));text-align:left;vertical-align:top;padding:.65rem .7rem}.devnotes-article-content th{color:hsl(var(--foreground));font-weight:700}.devnotes-article-content td{color:hsl(var(--foreground) / .78)}.devnotes-article-content img{max-width:100%;height:auto;margin:1.4rem 0}.devnotes-related-work{border-top:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));margin-top:3.8rem;padding:1.2rem 0 1rem}.devnotes-related-heading{justify-content:space-between;align-items:baseline;gap:1.5rem;display:flex}.devnotes-related-heading h2{color:hsl(var(--foreground));align-items:center;gap:.85rem;margin:0;font-size:1.25rem;font-weight:700;line-height:1.35;display:flex}.devnotes-related-heading-line{background:hsl(var(--primary));width:2rem;height:2px;display:inline-block}.devnotes-related-all-link,.devnotes-related-link,.devnotes-article-footer-link{border-bottom:1px solid hsl(var(--primary) / .55);gap:.5rem;padding-bottom:.18rem;font-size:.78rem;font-weight:650}.devnotes-related-links{flex-wrap:wrap;gap:1rem 2rem;margin-top:1.1rem;padding-left:2.85rem;display:flex}.devnotes-related-link{color:hsl(var(--foreground) / .8)}.devnotes-related-link:hover{color:hsl(var(--primary))}.devnotes-article-footer{justify-content:space-between;align-items:center;gap:1.5rem;padding-top:1.4rem;display:flex}.devnotes-article-footer p{color:hsl(var(--muted-foreground));margin:0;font-size:.82rem}@media (width<=767px){.devnotes-article-section{padding-top:2rem}.devnotes-article-header{margin-top:2.5rem}.devnotes-article-content{padding-left:3.25rem;font-size:.9rem}.devnotes-article-content>h2{margin-left:-3.25rem;padding-left:3.25rem}.devnotes-article-content>h2:after{width:1.2rem;left:1.35rem}.devnotes-related-heading,.devnotes-article-footer{flex-direction:column;align-items:flex-start;gap:.8rem}.devnotes-related-links{padding-left:2.7rem}}
