:root{--space-unit: 1rem;--space-3xs: .296rem;--space-2xs: .444rem;--space-xs: .5rem;--space-sm: .75rem;--space-base: 1rem;--space-md: 1.333rem;--space-lg: 1.777rem;--space-xl: 2.369rem;--space-2xl: 3.157rem;--space-3xl: 4.209rem;--space-4xl: 5.61rem;--header-top-lg: var(--space-2xl);--header-bottom-lg: var(--space-md);--header-top-md: var(--space-xl);--header-bottom-md: var(--space-base);--header-top-sm: var(--space-lg);--header-bottom-sm: var(--space-base)}.knitli-section{--theme-space-multiplier: 1.1}.codeweaver-section{--theme-space-multiplier: .95}.hybrid-section{--theme-space-multiplier: calc( 1.1 * var(--theme-ratio, .8) + .95 * (1 - var(--theme-ratio, .8)) )}.hybrid-section{--blend-primary: color-mix( in oklch, var(--knitli-rust) calc(var(--theme-ratio, .8) * 100%), var(--cw-copper) );--blend-bg: color-mix( in oklch, var(--knitli-parchment) calc(var(--theme-ratio, .8) * 100%), var(--cw-crisp-white) );--blend-text: color-mix( in oklch, var(--knitli-text) calc(var(--theme-ratio, .8) * 100%), var(--cw-text) );background:var(--blend-bg);color:var(--blend-text)}.blog-content{font-family:var(--font-knitli-body);font-size:var(--font-base);line-height:1.7;color:var(--knitli-text)}.blog-content h2,.blog-content h3,.blog-content h4,.blog-content h5,.blog-content h6{font-family:var(--font-bridge);font-weight:500;line-height:1.3;color:var(--knitli-aubergine);margin-top:var(--header-top-sm);margin-bottom:var(--header-bottom-sm)}.blog-content h2{font-size:var(--font-xl);margin-top:var(--header-top-lg);margin-bottom:var(--header-bottom-lg)}.blog-content h3{font-size:var(--font-lg);margin-top:var(--header-top-md);margin-bottom:var( --header-bottom-md )}.blog-content h4{font-size:var(--font-md);margin-top:var(--header-top-sm)}.blog-content h5,.blog-content h6{font-size:var(--font-base);margin-top:var(--header-top-sm)}.blog-content p{margin-bottom:var(--space-md)}.blog-content h2+p,.blog-content h2+ul,.blog-content h2+ol,.blog-content h2+pre,.blog-content h2+blockquote{margin-top:var(--space-2xs)}.blog-content h3+p,.blog-content h3+ul,.blog-content h3+ol{margin-top:var(--space-3xs)}.blog-content p+ul,.blog-content p+ol{margin-top:calc(-1 * var(--space-xs))}.blog-content pre+*{margin-top:var(--space-xs)}.blog-content a{color:var(--knitli-rust);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px;transition:color .2s}.blog-content a:hover{color:var(--knitli-aubergine)}.blog-content ul,.blog-content ol{margin:var(--space-m) 0;padding-left:var(--space-lg)}.blog-content li{margin-bottom:var(--space-sm);padding-left:var(--space-xs)}.blog-content li:last-child{margin-bottom:0}.blog-content li>ul,.blog-content li>ol{margin-top:var(--space-sm);margin-bottom:var(--space-sm)}.blog-content li li{margin-bottom:var(--space-xs)}.blog-content ul{list-style-type:disc;list-style-position:outside}.blog-content ol{list-style-type:decimal;list-style-position:outside}.blog-content li::marker{color:var(--knitli-rust)}.blog-content blockquote{margin:var(--space-xl) 0;padding:var(--space-md) var(--space-xl);padding-left:var(--space-2xl);border-left:3px solid var(--knitli-rust);border-radius:0 4px 4px 0;background:#1e061b05;font-style:italic;color:var(--knitli-text);opacity:.9}.blog-content blockquote p{margin-bottom:var(--space-base)}.blog-content blockquote p:last-child{margin-bottom:0}.blog-content code{font-family:var(--font-cw-display);font-size:var( --font-sm );background:#455b6b1a;padding:.2em .5em;border-radius:3px;color:var(--cw-copper);border:1px solid rgba(69,91,107,.15);margin:0 .1em;font-weight:500;letter-spacing:-.01em;box-shadow:0 1px 2px #0000000d}.blog-content code:before,.blog-content code:after{content:" ";display:inline-block;width:0}.blog-content pre.astro-code{margin:var(--space-lg) 0;padding:var(--space-lg);padding-right:var(--space-xl);background:var(--cw-cream);border:1px solid var(--cw-primary);border-radius:4px;overflow-x:auto;box-shadow:0 2px 5px var(--workshop-shadow);line-height:1.6;font-size:var(--font-xs);position:relative}.blog-content pre:after{content:"";position:absolute;right:0;top:0;bottom:0;width:1rem;background:linear-gradient(to left,var(--cw-cream),transparent);pointer-events:none;opacity:.5}.blog-content pre code{background:none;padding:0;font-size:inherit;line-height:1.5;color:var(--cw-copper)}.blog-content pre.astro-code .token.comment,.blog-content pre.astro-code .token.prolog,.blog-content pre.astro-code .token.doctype,.blog-content pre.astro-code .token.cdata{color:#8b949e;font-style:italic}.blog-content img{max-width:100%;height:auto;border-radius:4px;margin:2rem auto;display:block;box-shadow:0 4px 12px var(--workshop-shadow)}.blog-content img.float-right{float:right;margin:1rem 0 1rem 1.5rem;max-width:50%}.blog-content img.float-left{float:left;margin:1rem 1.5rem 1rem 0;max-width:50%}.blog-content figure{margin:var(--space-xl) 0;padding:var(--space-base);background:#1e061b03;border-radius:8px}.blog-content figure img{margin:0 auto;display:block;border-radius:6px;box-shadow:0 4px 12px #0000001a,0 1px 3px #0000000d}.blog-content figcaption{margin-top:var(--space-base);padding:0 var(--space-base);font-size:var(--font-sm);font-style:italic;text-align:center;color:var(--knitli-text);opacity:.8}.blog-content figcaption:before{content:"↑ ";opacity:.5}.blog-content hr{margin:var(--space-2xl) 0;border:none;height:1px;background:linear-gradient(90deg,transparent 0%,var(--knitli-rust) 10%,var(--knitli-rust) 90%,transparent 100%);opacity:.6}.blog-content hr.ornament{position:relative;height:1px;background:transparent;margin:var(--space-3xl) 0}.blog-content hr.ornament:after{content:"* * *";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--knitli-parchment);padding:0 var(--space-base);color:var(--knitli-rust);letter-spacing:.5em;font-size:var(--font-md)}.blog-content hr.heavy{height:2px;background:var(--knitli-rust);margin:var(--space-3xl) 0;opacity:.8}.blog-content table{width:100%;margin:var(--space-xl) 0;border-collapse:collapse;font-size:var(--font-sm);border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.blog-content thead{background:linear-gradient(180deg,#1e061b14,#1e061b0d)}.blog-content th{padding:var(--space-base) var(--space-md);font-family:var(--font-bridge);font-weight:600;color:var(--knitli-aubergine);text-align:left;border-bottom:2px solid var(--knitli-rust)}.blog-content td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid rgba(30,6,27,.1)}.blog-content tbody tr{transition:background .15s ease}.blog-content tbody tr:hover{background:#1e061b08}.blog-content tbody tr:nth-child(2n){background:#1e061b03}.blog-content tbody tr:nth-child(2n):hover{background:#1e061b0a}.badge-knitli,.badge-knitli:hover{color:var(--knitli-parchment);text-decoration:none}.hybrid-section .blog-content h2,.hybrid-section .blog-content h3,.hybrid-section .blog-content h4{color:var(--blend-primary, var(--knitli-aubergine))}.hybrid-section .blog-content a{color:var(--blend-primary, var(--knitli-rust))}.hybrid-section .blog-content li::marker{color:var(--blend-primary, var(--knitli-rust))}.knitli-section .blog-content h2{margin-top:calc(var(--space-2xl) * var(--theme-space-multiplier, 1.1));margin-bottom:calc(var(--space-md) * var(--theme-space-multiplier, 1.1))}.knitli-section .blog-content h3{margin-top:calc(var(--space-xl) * var(--theme-space-multiplier, 1.1))}.knitli-section .blog-content pre,.knitli-section .blog-content pre.astro-code{margin:calc(var(--space-xl) * var(--theme-space-multiplier, 1.1)) 0;padding:calc(var(--space-xl) * var(--theme-space-multiplier, 1.1));padding-right:calc(var(--space-2xl) * var(--theme-space-multiplier, 1.1))}.knitli-section .blog-content blockquote,.knitli-section .blog-content table{margin:calc(var(--space-xl) * var(--theme-space-multiplier, 1.1)) 0}.knitli-section .blog-content figure{margin:calc(var(--space-xl) * var(--theme-space-multiplier, 1.1)) 0}.knitli-section .blog-content hr,.knitli-section .blog-content hr.ornament,.knitli-section .blog-content hr.heavy{margin:calc(var(--space-2xl) * var(--theme-space-multiplier, 1.1)) 0}.codeweaver-section .blog-content{font-family:var(--font-cw-body)}.codeweaver-section .blog-content h2{font-family:var(--font-cw-display);color:var(--cw-primary);text-transform:uppercase;letter-spacing:.05em;margin-top:calc(var(--header-top-lg) * var(--theme-space-multiplier, .95));margin-bottom:calc(var(--header-bottom-lg) * var(--theme-space-multiplier, .95))}.codeweaver-section .blog-content h3,.codeweaver-section .blog-content h4{font-family:var(--font-cw-display);color:var(--cw-primary);text-transform:uppercase;letter-spacing:.05em;margin-top:calc(var(--header-top-md) * var(--theme-space-multiplier, .95))}.codeweaver-section .blog-content pre,.codeweaver-section .blog-content pre.astro-code{margin:calc(var(--space-xl) * var(--theme-space-multiplier, .95)) 0;padding:calc(var(--space-xl) * var(--theme-space-multiplier, .95));padding-right:calc(var(--space-3xl) * var(--theme-space-multiplier, .95))}.codeweaver-section .blog-content a{color:var(--cw-copper)}.codeweaver-section .blog-content li::marker{color:var(--cw-copper)}.codeweaver-section .blog-content blockquote{border-left-color:var(--cw-copper);font-family:var(--font-cw-body);color:var(--cw-text)}.codeweaver-section .blog-content table{margin:calc(var(--space-lg) * var(--theme-space-multiplier, .95)) 0}.codeweaver-section .blog-content th{color:var(--cw-primary);border-bottom-color:var(--cw-copper)}.codeweaver-section .blog-content figure{margin:calc(var(--space-xl) * var(--theme-space-multiplier, .95)) 0}.codeweaver-section .blog-content hr{margin:calc(var(--space-2xl) * var(--theme-space-multiplier, .95)) 0;background:linear-gradient(90deg,transparent 0%,var(--cw-copper) 10%,var(--cw-copper) 90%,transparent 100%)}.codeweaver-section .blog-content hr.ornament,.codeweaver-section .blog-content hr.heavy{margin:calc(var(--space-3xl) * var(--theme-space-multiplier, .95)) 0}.codeweaver-section .blog-content hr.ornament:after{color:var(--cw-copper)}.codeweaver-section .blog-content hr.heavy{background:var(--cw-copper)}@media(max-width:768px){.blog-content{font-size:var(--font-sm);line-height:1.65}.blog-content h2{font-size:var(--font-lg);margin-top:var(--space-xl);margin-bottom:var(--space-md)}.blog-content h3{font-size:var(--font-md);margin-top:var(--space-lg);margin-bottom:var(--space-base)}.blog-content h4,.blog-content h5,.blog-content h6{font-size:var(--font-base);margin-top:var(--space-lg)}.blog-content pre,.blog-content pre.astro-code{padding:var(--space-md);padding-right:var(--space-lg);margin:var(--space-lg) calc(-1 * var(--knitli-space-lg));border-radius:0;font-size:var(--font-xs)}.blog-content blockquote{margin:var(--space-lg) 0;padding:var(--space-base) var(--space-md);padding-left:var(--space-lg)}.blog-content li{margin-bottom:var(--space-base)}.blog-content table{font-size:var(--font-xs)}.blog-content th,.blog-content td{padding:var(--space-xs) var(--space-sm)}.blog-content table{margin:var(--space-lg) 0;border-radius:6px}.blog-content figure{margin:var(--space-lg) 0;padding:var(--space-sm)}.blog-content figcaption{font-size:var(--font-xs);margin-top:var(--space-sm)}.blog-content hr{margin:var(--space-xl) 0}.blog-content hr.ornament,.blog-content hr.heavy{margin:var(--space-2xl) 0}.blog-content hr.ornament:after{font-size:var(--font-sm);letter-spacing:.3em}}.blog-content h2:first-of-type{margin-top:0}@media(prefers-reduced-motion:reduce){.blog-content a{transition:none}}
