:root{--eng-blog-background: 0 0% 5%;--eng-blog-foreground: 0 0% 78%;--eng-blog-card: 0 0% 9%;--eng-blog-card-foreground: 0 0% 78%;--eng-blog-muted: 0 0% 9%;--eng-blog-muted-foreground: 0 0% 55%;--eng-blog-border: 0 0% 19%;--eng-blog-accent: 155 80% 45%;--eng-blog-accent-foreground: 0 0% 100%;--eng-blog-ring: 14 100% 50%;--eng-blog-warning: 37 91% 55%;--eng-blog-warning-foreground: 0 0% 100%}.engineering-blog-page{font-family:Newsreader,serif;background-color:hsl(var(--eng-blog-background))!important;color:hsl(var(--eng-blog-foreground))!important;transition:background-color .3s,color .3s}.recharts-wrapper *,.recharts-wrapper *:focus,[class*=recharts-],[class*=recharts-]:focus{outline:none!important}.eng-blog-prose{font-family:Newsreader,Georgia,serif;font-size:19px;line-height:1.7;letter-spacing:-.01em;color:hsl(var(--eng-blog-foreground));font-feature-settings:"kern" 1,"liga" 1,"calt" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.eng-blog-prose p{margin-top:0;margin-bottom:1.5em}.eng-blog-prose>p:first-of-type{font-size:1.125em;line-height:1.65;color:hsl(var(--eng-blog-foreground))}.eng-blog-prose h2{font-family:Newsreader,Georgia,serif;font-size:1.75em;font-weight:600;line-height:1.25;letter-spacing:-.02em;margin-top:2.5em;margin-bottom:.75em;padding-top:1.5em;border-top:1px solid hsl(var(--eng-blog-border));color:hsl(var(--eng-blog-foreground))}.eng-blog-prose>h2:first-child,.eng-blog-prose>p:first-of-type+h2{margin-top:0;padding-top:0;border-top:none}.eng-blog-prose h3{font-family:Newsreader,Georgia,serif;font-size:1.375em;font-weight:600;line-height:1.3;letter-spacing:-.01em;margin-top:2em;margin-bottom:.625em;color:hsl(var(--eng-blog-foreground))}.eng-blog-prose h4{font-family:Newsreader,Georgia,serif;font-size:1.125em;font-weight:600;line-height:1.4;letter-spacing:0;margin-top:1.75em;margin-bottom:.5em;color:hsl(var(--eng-blog-foreground))}.eng-blog-prose h5,.eng-blog-prose h6{font-family:IBM Plex Mono,monospace;font-size:.75em;font-weight:500;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;margin-top:1.5em;margin-bottom:.5em;color:hsl(var(--eng-blog-muted-foreground))}.eng-blog-prose h2+h3{margin-top:1em}.eng-blog-prose h3+h4{margin-top:.75em}.eng-blog-prose p a,.eng-blog-prose li a,.eng-blog-prose blockquote a,.eng-blog-prose td a,.eng-blog-prose th a,.eng-blog-prose h2 a,.eng-blog-prose h3 a,.eng-blog-prose h4 a,.eng-blog-prose h5 a,.eng-blog-prose h6 a{color:hsl(var(--eng-blog-foreground));text-decoration:underline;text-decoration-color:hsl(var(--eng-blog-accent) / .5);text-underline-offset:.15em;text-decoration-thickness:1px;transition:text-decoration-color .15s ease,color .15s ease}.eng-blog-prose p a:hover,.eng-blog-prose li a:hover,.eng-blog-prose blockquote a:hover,.eng-blog-prose td a:hover,.eng-blog-prose th a:hover,.eng-blog-prose h2 a:hover,.eng-blog-prose h3 a:hover,.eng-blog-prose h4 a:hover,.eng-blog-prose h5 a:hover,.eng-blog-prose h6 a:hover{color:hsl(var(--eng-blog-accent));text-decoration-color:hsl(var(--eng-blog-accent))}.eng-blog-prose code:not(pre code){font-family:IBM Plex Mono,monospace;font-size:.75em;font-weight:400;padding:.05em .25em;border-radius:2px;background-color:hsl(var(--eng-blog-card));color:hsl(var(--eng-blog-accent));border:1px solid hsl(var(--eng-blog-border));white-space:nowrap}.eng-blog-prose p code:not(pre code){white-space:normal;word-break:break-word}.eng-blog-prose blockquote{margin:2em 0;padding:.5em 0 .5em 1.5em;border-left:3px solid hsl(var(--eng-blog-accent));font-style:italic;color:hsl(var(--eng-blog-muted-foreground))}.eng-blog-prose blockquote p{margin-bottom:.75em}.eng-blog-prose blockquote p:last-child{margin-bottom:0}.eng-blog-prose blockquote cite,.eng-blog-prose blockquote footer{display:block;margin-top:.75em;font-size:.875em;font-style:normal;color:hsl(var(--eng-blog-muted-foreground))}.eng-blog-prose blockquote cite:before{content:"— "}.eng-blog-prose ul,.eng-blog-prose ol{margin:1.5em 0;padding-left:1.5em}.eng-blog-prose li{margin-bottom:.5em;padding-left:.375em}.eng-blog-prose li:last-child{margin-bottom:0}.eng-blog-prose ul{list-style:none}.eng-blog-prose ul>li{position:relative}.eng-blog-prose ul>li:before{content:"";position:absolute;left:-1.125em;top:.65em;width:5px;height:5px;border-radius:50%;background-color:hsl(var(--eng-blog-accent))}.eng-blog-prose ul ul>li:before{background-color:transparent;border:1px solid hsl(var(--eng-blog-accent))}.eng-blog-prose ol{list-style:none;counter-reset:list-counter}.eng-blog-prose ol>li{position:relative;counter-increment:list-counter}.eng-blog-prose ol>li:before{content:counter(list-counter) ".";position:absolute;left:-1.75em;width:1.5em;text-align:right;font-family:IBM Plex Mono,monospace;font-size:.85em;font-weight:500;color:hsl(var(--eng-blog-muted-foreground))}.eng-blog-prose li>ul,.eng-blog-prose li>ol{margin-top:.5em;margin-bottom:.5em}.eng-blog-prose hr{margin:3em 0;border:none;height:1px;background:linear-gradient(to right,transparent,hsl(var(--eng-blog-border)),transparent)}.eng-blog-prose table{width:100%;margin:2em 0;border-collapse:collapse;font-size:.9em}.eng-blog-prose th{font-family:IBM Plex Mono,monospace;font-size:.75em;font-weight:500;letter-spacing:.05em;text-transform:uppercase;text-align:left;padding:.75em 1em;border-bottom:2px solid hsl(var(--eng-blog-border));color:hsl(var(--eng-blog-muted-foreground))}.eng-blog-prose td{padding:.75em 1em;border-bottom:1px solid hsl(var(--eng-blog-border));vertical-align:top}.eng-blog-prose tr:last-child td{border-bottom:none}.eng-blog-prose img{max-width:100%;height:auto;margin:2em 0;border-radius:4px}.eng-blog-prose figure{margin:2.5em 0}.eng-blog-prose figcaption{margin-top:.75em;font-size:.875em;font-style:italic;color:hsl(var(--eng-blog-muted-foreground));text-align:center}.eng-blog-prose strong{font-weight:600;color:hsl(var(--eng-blog-foreground))}.eng-blog-prose em{font-style:italic}.eng-blog-prose pre{margin:0;padding:0;background:transparent;border:none;overflow:visible}.eng-blog-prose>.group,.eng-blog-prose>section:not([class]),.eng-blog-prose>div:not(:empty):not([class]){margin-top:2em;margin-bottom:2em}.eng-blog-prose section[class*=rounded-xl]{position:relative;margin:2em 0;padding:.75em 1em .75em 2.75em;border-radius:2px;background-color:hsl(var(--eng-blog-card) / .6);border:1px solid hsl(var(--eng-blog-border));box-shadow:none}.eng-blog-prose section[class*=rounded-xl] svg{position:absolute;top:50%;left:.75em;transform:translateY(-50%);width:1.25rem;height:1.25rem}.eng-blog-prose section[class*=bg-brand-green]{background-color:hsl(var(--eng-blog-accent) / .08);border-color:hsl(var(--eng-blog-accent) / .3);color:hsl(var(--eng-blog-foreground))}.eng-blog-prose section[class*=bg-brand-green] svg{color:hsl(var(--eng-blog-accent))}.eng-blog-prose section[class*=bg-brand-green] p{color:hsl(var(--eng-blog-foreground))}.eng-blog-prose section[class*=bg-brand-sand]{background-color:hsl(var(--eng-blog-warning) / .1);border-color:hsl(var(--eng-blog-warning) / .3);color:hsl(var(--eng-blog-foreground))}.eng-blog-prose section[class*=bg-brand-sand] svg{color:hsl(var(--eng-blog-warning))}.eng-blog-prose section[class*=bg-brand-sand] p{color:hsl(var(--eng-blog-foreground))}.eng-blog-prose section[class*=bg-brand-purple]{background-color:hsl(var(--eng-blog-card) / .8);border-color:hsl(var(--eng-blog-border));color:hsl(var(--eng-blog-foreground))}.eng-blog-prose section[class*=bg-brand-purple] svg{color:hsl(var(--eng-blog-muted-foreground))}.eng-blog-prose section[class*=bg-brand-purple] p{color:hsl(var(--eng-blog-foreground))}.eng-blog-prose section[class*=rounded-xl] p:first-of-type{font-family:system-ui,-apple-system,sans-serif;font-size:.85em;font-weight:600;letter-spacing:0;text-transform:none;margin-bottom:.35em}.eng-blog-prose section[class*=rounded-xl] p:not(:first-of-type),.eng-blog-prose section[class*=rounded-xl] .prose,.eng-blog-prose section[class*=rounded-xl]>div:last-child{font-family:Newsreader,Georgia,serif;font-size:.9em;line-height:1.5;color:hsl(var(--eng-blog-muted-foreground))}.radar-labels .recharts-polar-angle-axis-tick text{opacity:0;transition:opacity .3s ease-out}.radar-labels-visible .recharts-polar-angle-axis-tick:nth-of-type(1) text{opacity:1;transition-delay:0s}.radar-labels-visible .recharts-polar-angle-axis-tick:nth-of-type(2) text{opacity:1;transition-delay:.05s}.radar-labels-visible .recharts-polar-angle-axis-tick:nth-of-type(3) text{opacity:1;transition-delay:.1s}.radar-labels-visible .recharts-polar-angle-axis-tick:nth-of-type(4) text{opacity:1;transition-delay:.15s}.radar-labels-visible .recharts-polar-angle-axis-tick:nth-of-type(5) text{opacity:1;transition-delay:.2s}.eng-blog-sidebar{font-family:IBM Plex Mono,monospace}.eng-blog-sidebar-section{margin-bottom:24px}.eng-blog-sidebar-section-label{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:hsl(var(--eng-blog-muted-foreground));margin-bottom:12px;display:flex;align-items:center;gap:8px}.eng-blog-sidebar-section-index{color:hsl(var(--eng-blog-muted-foreground) / .5)}.eng-blog-sidebar-divider{border-bottom:1px solid hsl(var(--eng-blog-border));margin-top:24px;margin-bottom:24px}.eng-blog-sidebar-metadata-item{font-size:10px;color:hsl(var(--eng-blog-muted-foreground));line-height:1.8;display:flex;align-items:center;gap:8px}.eng-blog-sidebar-metadata-item:before{content:"";width:3px;height:3px;background:hsl(var(--eng-blog-accent));display:block;flex-shrink:0}.eng-blog-sidebar-toc-item{font-size:11px;line-height:3;color:hsl(var(--eng-blog-muted-foreground));display:block;padding-left:calc(12px * var(--indent) + 10px);transition:color .2s;border-left:2px solid transparent;margin-left:-12px;text-decoration:none}.eng-blog-sidebar-toc-item:hover{color:hsl(var(--eng-blog-foreground));font-weight:600}.eng-blog-sidebar-toc-item[data-active=true]{color:hsl(var(--eng-blog-foreground));border-left-color:hsl(var(--eng-blog-accent))}.eng-blog-sidebar-tag{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:hsl(var(--eng-blog-muted-foreground));border:1px solid hsl(var(--eng-blog-border));padding:4px 8px;transition:all .2s;display:inline-block;text-decoration:none}.eng-blog-sidebar-tag:hover{border-color:hsl(var(--eng-blog-accent));color:hsl(var(--eng-blog-foreground))}.eng-blog-sidebar-share-icon{width:24px;height:24px;opacity:.5;transition:opacity .2s,transform .2s,color .2s}.eng-blog-sidebar-share-icon:hover{opacity:1;transform:scale(1.1);color:hsl(var(--eng-blog-accent))}
