.blog-module__JsT-Oq__page{--void:#070908;--carbon:#0e110f;--bone:#eae8d8;--smoke:#a0a696;--moss:#aeb679;--brass:#c99859;--line:#e5e4d41f;--code-bg:#060907;--code-border:#e5e4d424;--code-text:#eae8dc;--inline-code-bg:#141913;--inline-code-text:#c4cc8e;--card-hover:#111512;--tag-bg:#aeb6791a;--tag-border:#aeb67933;--article-bg:#070908;--shadow:#00000073;background:var(--void);min-height:100svh;color:var(--bone);transition:background .25s,color .25s;overflow:clip visible}:is(html[data-theme=light] .blog-module__JsT-Oq__page,html[data-blog-theme=light] .blog-module__JsT-Oq__page,[data-theme=light] .blog-module__JsT-Oq__page,[data-blog-theme=light] .blog-module__JsT-Oq__page,.blog-module__JsT-Oq__page[data-theme=light]){--void:#faf8f5;--carbon:#f2efe7;--bone:#161a17;--smoke:#4a5446;--moss:#3f5d2b;--brass:#915d18;--line:#161a171f;--code-bg:#f4f1e6;--code-border:#161a1726;--code-text:#161a17;--inline-code-bg:#ebe8dc;--inline-code-text:#2f481e;--card-hover:#f3efe5;--tag-bg:#3f5d2b14;--tag-border:#3f5d2b33;--article-bg:#faf8f5;--shadow:#0000000f}.blog-module__JsT-Oq__nav{z-index:20;background:var(--void);border-bottom:1px solid var(--line);min-height:64px;font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:16px;padding:12px clamp(20px,4vw,48px);font-size:11px;font-weight:600;transition:background .25s,border-color .25s;display:flex;position:sticky;top:0}.blog-module__JsT-Oq__navTitle{color:var(--smoke);font-size:11px}.blog-module__JsT-Oq__navActions{align-items:center;gap:14px;display:flex}.blog-module__JsT-Oq__navLink{color:var(--bone);letter-spacing:.08em;font-size:11px;font-weight:700;text-decoration:none;transition:color .2s}.blog-module__JsT-Oq__navLink:hover{color:var(--brass)}.blog-module__JsT-Oq__mark{border:1px solid var(--line);width:38px;height:38px;color:var(--bone);border-radius:50%;place-items:center;font-size:12px;font-weight:700;text-decoration:none;transition:transform .25s,background .25s,color .25s;display:grid}.blog-module__JsT-Oq__mark:hover{background:var(--brass);color:var(--void);transform:rotate(12deg)}.blog-module__JsT-Oq__themeToggle{border:1px solid var(--line);background:var(--carbon);color:var(--bone);font-family:var(--font-mono), monospace;letter-spacing:.08em;cursor:pointer;touch-action:manipulation;border-radius:100px;align-items:center;gap:6px;padding:5px 12px;font-size:10px;font-weight:700;transition:all .2s;display:inline-flex}.blog-module__JsT-Oq__themeToggle:hover{border-color:var(--brass);color:var(--brass)}.blog-module__JsT-Oq__themeToggleDot{background:var(--brass);border-radius:50%;width:6px;height:6px}.blog-module__JsT-Oq__themeToggleLabel{-webkit-user-select:none;user-select:none}.blog-module__JsT-Oq__hero{max-width:900px;margin:0 auto;padding:clamp(40px,6vw,64px) clamp(20px,4vw,40px) 24px;position:relative}.blog-module__JsT-Oq__grid{z-index:-1;opacity:.18;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.blog-module__JsT-Oq__kicker{color:var(--smoke);font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px;font-size:11px;font-weight:700}.blog-module__JsT-Oq__kicker span{color:var(--brass);margin-right:14px}.blog-module__JsT-Oq__hero h1{font-family:var(--font-body), system-ui, sans-serif;letter-spacing:-.02em;color:var(--bone);margin:0 0 14px;font-size:clamp(32px,4.2vw,48px);font-weight:700;line-height:1.15}.blog-module__JsT-Oq__heroBottom{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:20px;margin-top:18px;padding-top:16px;display:flex}.blog-module__JsT-Oq__heroBottom p{max-width:580px;color:var(--smoke);margin:0;font-size:15px;line-height:1.6}.blog-module__JsT-Oq__heroBottom span{color:var(--brass);font-family:var(--font-mono), monospace;letter-spacing:.1em;font-size:10px;font-weight:700}.blog-module__JsT-Oq__index{max-width:900px;margin:0 auto;padding:16px clamp(20px,4vw,40px) 80px}.blog-module__JsT-Oq__indexTop{border-bottom:1px solid var(--line);color:var(--smoke);font-family:var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;padding-bottom:14px;font-size:10px;font-weight:700;display:flex}.blog-module__JsT-Oq__indexTop span:first-child{color:var(--brass)}.blog-module__JsT-Oq__list{flex-direction:column;display:flex}.blog-module__JsT-Oq__entry{border-bottom:1px solid var(--line);color:var(--bone);border-radius:8px;grid-template-columns:36px 1fr auto;align-items:baseline;gap:20px;padding:24px 16px;text-decoration:none;transition:background .2s,border-color .2s;display:grid;position:relative}.blog-module__JsT-Oq__entry:hover{background:var(--card-hover)}.blog-module__JsT-Oq__number{color:var(--brass);font-family:var(--font-mono), monospace;letter-spacing:.1em;font-size:11px;font-weight:700}.blog-module__JsT-Oq__entryContent h2{font-family:var(--font-body), system-ui, sans-serif;letter-spacing:-.01em;color:var(--bone);margin:0;font-size:clamp(17px,1.8vw,21px);font-weight:600;line-height:1.35}.blog-module__JsT-Oq__entryContent p{color:var(--smoke);margin:8px 0 0;font-size:14px;line-height:1.6}.blog-module__JsT-Oq__entryMeta{font-family:var(--font-mono), monospace;color:var(--smoke);white-space:nowrap;align-items:center;gap:10px;font-size:11px;font-weight:600;display:flex}.blog-module__JsT-Oq__entryArrow{color:var(--brass);font-size:14px;transition:transform .2s}.blog-module__JsT-Oq__entry:hover .blog-module__JsT-Oq__entryArrow{transform:translate(3px,-3px)}.blog-module__JsT-Oq__empty{color:var(--smoke);padding:48px 0;font-size:15px}.blog-module__JsT-Oq__postPage{background:var(--article-bg)}.blog-module__JsT-Oq__article{max-width:800px;margin:0 auto;padding:clamp(32px,5vw,56px) clamp(20px,4vw,36px) 96px}.blog-module__JsT-Oq__articleHeader{border-bottom:1px solid var(--line);padding-bottom:28px}.blog-module__JsT-Oq__back{color:var(--smoke);font-family:var(--font-mono), monospace;letter-spacing:.1em;margin-bottom:20px;font-size:11px;font-weight:700;text-decoration:none;transition:color .2s;display:inline-block}.blog-module__JsT-Oq__back:hover{color:var(--brass)}.blog-module__JsT-Oq__articleHeader h1{font-family:var(--font-body), system-ui, sans-serif;letter-spacing:-.02em;color:var(--bone);margin:0 0 16px;font-size:clamp(26px,3.4vw,38px);font-weight:700;line-height:1.25}.blog-module__JsT-Oq__articleMeta{border-top:1px solid var(--line);color:var(--smoke);font-family:var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:16px;margin-top:18px;padding-top:14px;font-size:10.5px;font-weight:600;display:flex}.blog-module__JsT-Oq__articleMeta span:last-child{color:var(--brass)}.blog-module__JsT-Oq__articleGrid{margin-top:36px}.blog-module__JsT-Oq__content{color:var(--smoke);font-family:var(--font-body), system-ui, sans-serif;letter-spacing:-.003em;font-size:16px;line-height:1.8}.blog-module__JsT-Oq__content>:first-child{color:var(--bone);margin-top:0;font-size:18px;font-weight:500;line-height:1.65}.blog-module__JsT-Oq__content p{margin:0 0 22px}.blog-module__JsT-Oq__content h2{color:var(--bone);font-family:var(--font-body), system-ui, sans-serif;letter-spacing:-.015em;margin:42px 0 16px;font-size:clamp(20px,2.2vw,25px);font-weight:700;line-height:1.3}.blog-module__JsT-Oq__content h3{color:var(--bone);font-family:var(--font-body), system-ui, sans-serif;margin:32px 0 12px;font-size:clamp(17px,1.8vw,20px);font-weight:600;line-height:1.35}.blog-module__JsT-Oq__content a{color:var(--moss);text-underline-offset:3px;font-weight:500;text-decoration:underline}.blog-module__JsT-Oq__content a:hover{color:var(--brass)}.blog-module__JsT-Oq__content strong{color:var(--bone);font-weight:600}.blog-module__JsT-Oq__content ol,.blog-module__JsT-Oq__content ul{margin:0 0 22px;padding-left:24px}.blog-module__JsT-Oq__content li{margin-bottom:8px}.blog-module__JsT-Oq__content img{border:1px solid var(--line);max-width:100%;height:auto;max-height:540px;box-shadow:0 10px 28px var(--shadow);border-radius:8px;margin:32px auto;display:block}.blog-module__JsT-Oq__content .blog-image{border:1px solid var(--line);max-width:100%;height:auto;max-height:540px;box-shadow:0 10px 28px var(--shadow);border-radius:8px;margin:32px auto;display:block}.blog-module__JsT-Oq__content video{border:1px solid var(--line);width:100%;max-width:100%;height:auto;max-height:540px;box-shadow:0 10px 28px var(--shadow);background:#000;border-radius:8px;outline:none;margin:32px auto;display:block}.blog-module__JsT-Oq__content .blog-video{border:1px solid var(--line);width:100%;max-width:100%;height:auto;max-height:540px;box-shadow:0 10px 28px var(--shadow);background:#000;border-radius:8px;outline:none;margin:32px auto;display:block}.blog-module__JsT-Oq__content figure{margin:36px 0;padding:0;display:block}.blog-module__JsT-Oq__content .blog-figure{margin:36px 0;padding:0;display:block}.blog-module__JsT-Oq__content figure img,.blog-module__JsT-Oq__content figure video{margin:0 auto}.blog-module__JsT-Oq__content .blog-figure img{margin:0 auto}.blog-module__JsT-Oq__content .blog-figure video{margin:0 auto}.blog-module__JsT-Oq__content figcaption{text-align:center;color:var(--smoke);font-family:var(--font-mono), monospace;letter-spacing:.04em;margin-top:10px;font-size:11px}.blog-module__JsT-Oq__content .blog-caption{text-align:center;color:var(--smoke);font-family:var(--font-mono), monospace;letter-spacing:.04em;margin-top:10px;font-size:11px}.blog-module__JsT-Oq__content iframe{aspect-ratio:16/9;border:1px solid var(--line);border-radius:8px;width:100%;margin:32px 0;display:block}.blog-module__JsT-Oq__content .blog-embed{aspect-ratio:16/9;border:1px solid var(--line);border-radius:8px;width:100%;margin:32px 0;display:block}.blog-module__JsT-Oq__content pre{border:1px solid var(--code-border);background:var(--code-bg);color:var(--code-text);font-family:var(--font-mono), monospace;box-shadow:0 8px 24px var(--shadow);border-radius:8px;margin:32px 0;padding:38px 18px 18px;font-size:13px;line-height:1.65;position:relative;overflow-x:auto}.blog-module__JsT-Oq__content .blog-code-block{border:1px solid var(--code-border);background:var(--code-bg);color:var(--code-text);font-family:var(--font-mono), monospace;box-shadow:0 8px 24px var(--shadow);border-radius:8px;margin:32px 0;padding:38px 18px 18px;font-size:13px;line-height:1.65;position:relative;overflow-x:auto}.blog-module__JsT-Oq__content pre[data-language]:before{content:attr(data-language);font-family:var(--font-mono), monospace;letter-spacing:.12em;color:var(--brass);text-transform:uppercase;-webkit-user-select:none;user-select:none;opacity:.9;font-size:9px;font-weight:700;position:absolute;top:10px;left:14px}.blog-module__JsT-Oq__content .copy-code-btn{border:1px solid var(--line);color:var(--smoke);font-family:var(--font-mono), monospace;letter-spacing:.1em;cursor:pointer;touch-action:manipulation;background:#e5e4d414;border-radius:4px;padding:3px 8px;font-size:9px;font-weight:700;transition:all .2s;position:absolute;top:8px;right:10px}.blog-module__JsT-Oq__content .copy-code-btn:hover{background:var(--brass);border-color:var(--brass);color:var(--void)}.blog-module__JsT-Oq__content .copy-code-btn.copied{background:var(--moss);border-color:var(--moss);color:var(--void)}.blog-module__JsT-Oq__content code{background:var(--inline-code-bg);border:1px solid var(--line);color:var(--inline-code-text);font-family:var(--font-mono), monospace;border-radius:4px;padding:2px 6px;font-size:.88em}.blog-module__JsT-Oq__content pre code{color:inherit;overflow-wrap:normal;word-break:normal;background:0 0;border:none;border-radius:0;padding:0;font-family:inherit}.blog-module__JsT-Oq__content .blog-code-block code{color:inherit;overflow-wrap:normal;word-break:normal;background:0 0;border:none;border-radius:0;padding:0;font-family:inherit}.blog-module__JsT-Oq__content .hljs{color:#eae8dc;background:0 0}:is(.blog-module__JsT-Oq__content .hljs-comment,.blog-module__JsT-Oq__content .hljs-quote){color:#7f8e74;font-style:italic}:is(.blog-module__JsT-Oq__content .hljs-keyword,.blog-module__JsT-Oq__content .hljs-selector-tag,.blog-module__JsT-Oq__content .hljs-subst){color:#e5a855;font-weight:600}:is(.blog-module__JsT-Oq__content .hljs-function,.blog-module__JsT-Oq__content .hljs-title.function_,.blog-module__JsT-Oq__content .hljs-title){color:#72b4ff;font-weight:600}:is(.blog-module__JsT-Oq__content .hljs-string,.blog-module__JsT-Oq__content .hljs-doctag,.blog-module__JsT-Oq__content .hljs-regexp){color:#b7d678}:is(.blog-module__JsT-Oq__content .hljs-type,.blog-module__JsT-Oq__content .hljs-class,.blog-module__JsT-Oq__content .hljs-title.class_){color:#e5c07b;font-weight:600}:is(.blog-module__JsT-Oq__content .hljs-number,.blog-module__JsT-Oq__content .hljs-literal,.blog-module__JsT-Oq__content .hljs-symbol,.blog-module__JsT-Oq__content .hljs-bullet){color:#ff8a7a;font-weight:600}:is(.blog-module__JsT-Oq__content .hljs-built_in,.blog-module__JsT-Oq__content .hljs-name,.blog-module__JsT-Oq__content .hljs-section){color:#5ce1e6}:is(.blog-module__JsT-Oq__content .hljs-variable,.blog-module__JsT-Oq__content .hljs-params,.blog-module__JsT-Oq__content .hljs-attr){color:#eae8dc}:is(.blog-module__JsT-Oq__content .hljs-meta,.blog-module__JsT-Oq__content .hljs-meta-keyword,.blog-module__JsT-Oq__content .hljs-meta-string){color:#a4b094}:is(.blog-module__JsT-Oq__content .hljs-punctuation,.blog-module__JsT-Oq__content .hljs-operator){color:#aeb6a4}.blog-module__JsT-Oq__content .hljs-addition{color:#b7d678;background:#b7d67826}.blog-module__JsT-Oq__content .hljs-deletion{color:#ff7b72;background:#ff7b7226}[data-theme=light] .blog-module__JsT-Oq__content .hljs{color:#161a17;background:0 0}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs{color:#161a17;background:0 0}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs{color:#161a17;background:0 0}[data-theme=light] .blog-module__JsT-Oq__content .hljs-comment{color:#6b7762;font-style:italic}[data-theme=light] .blog-module__JsT-Oq__content .hljs-quote{color:#6b7762;font-style:italic}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-comment{color:#6b7762;font-style:italic}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-quote{color:#6b7762;font-style:italic}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-comment{color:#6b7762;font-style:italic}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-quote{color:#6b7762;font-style:italic}[data-theme=light] .blog-module__JsT-Oq__content .hljs-keyword{color:#a15809;font-weight:600}[data-theme=light] .blog-module__JsT-Oq__content .hljs-selector-tag{color:#a15809;font-weight:600}[data-theme=light] .blog-module__JsT-Oq__content .hljs-subst{color:#a15809;font-weight:600}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-keyword{color:#a15809;font-weight:600}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-selector-tag{color:#a15809;font-weight:600}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-subst{color:#a15809;font-weight:600}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-keyword{color:#a15809;font-weight:600}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-selector-tag{color:#a15809;font-weight:600}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-subst{color:#a15809;font-weight:600}[data-theme=light] .blog-module__JsT-Oq__content .hljs-function{color:#0969da;font-weight:600}[data-theme=light] .blog-module__JsT-Oq__content .hljs-title.function_{color:#0969da;font-weight:600}[data-theme=light] .blog-module__JsT-Oq__content .hljs-title{color:#0969da;font-weight:600}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-function{color:#0969da;font-weight:600}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-title.function_{color:#0969da;font-weight:600}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-title{color:#0969da;font-weight:600}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-function{color:#0969da;font-weight:600}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-title.function_{color:#0969da;font-weight:600}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-title{color:#0969da;font-weight:600}[data-theme=light] .blog-module__JsT-Oq__content .hljs-string{color:#1a7f37;font-weight:500}[data-theme=light] .blog-module__JsT-Oq__content .hljs-doctag{color:#1a7f37;font-weight:500}[data-theme=light] .blog-module__JsT-Oq__content .hljs-regexp{color:#1a7f37;font-weight:500}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-string{color:#1a7f37;font-weight:500}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-doctag{color:#1a7f37;font-weight:500}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-regexp{color:#1a7f37;font-weight:500}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-string{color:#1a7f37;font-weight:500}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-doctag{color:#1a7f37;font-weight:500}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-regexp{color:#1a7f37;font-weight:500}[data-theme=light] .blog-module__JsT-Oq__content .hljs-type{color:#8250df;font-weight:600}[data-theme=light] .blog-module__JsT-Oq__content .hljs-class{color:#8250df;font-weight:600}[data-theme=light] .blog-module__JsT-Oq__content .hljs-title.class_{color:#8250df;font-weight:600}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-type{color:#8250df;font-weight:600}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-class{color:#8250df;font-weight:600}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-title.class_{color:#8250df;font-weight:600}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-type{color:#8250df;font-weight:600}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-class{color:#8250df;font-weight:600}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-title.class_{color:#8250df;font-weight:600}[data-theme=light] .blog-module__JsT-Oq__content .hljs-number{color:#cf222e;font-weight:600}[data-theme=light] .blog-module__JsT-Oq__content .hljs-literal{color:#cf222e;font-weight:600}[data-theme=light] .blog-module__JsT-Oq__content .hljs-symbol{color:#cf222e;font-weight:600}[data-theme=light] .blog-module__JsT-Oq__content .hljs-bullet{color:#cf222e;font-weight:600}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-number{color:#cf222e;font-weight:600}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-literal{color:#cf222e;font-weight:600}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-symbol{color:#cf222e;font-weight:600}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-bullet{color:#cf222e;font-weight:600}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-number{color:#cf222e;font-weight:600}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-literal{color:#cf222e;font-weight:600}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-symbol{color:#cf222e;font-weight:600}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-bullet{color:#cf222e;font-weight:600}[data-theme=light] .blog-module__JsT-Oq__content .hljs-built_in{color:#0550ae}[data-theme=light] .blog-module__JsT-Oq__content .hljs-name{color:#0550ae}[data-theme=light] .blog-module__JsT-Oq__content .hljs-section{color:#0550ae}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-built_in{color:#0550ae}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-name{color:#0550ae}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-section{color:#0550ae}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-built_in{color:#0550ae}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-name{color:#0550ae}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-section{color:#0550ae}[data-theme=light] .blog-module__JsT-Oq__content .hljs-variable{color:#24292f}[data-theme=light] .blog-module__JsT-Oq__content .hljs-params{color:#24292f}[data-theme=light] .blog-module__JsT-Oq__content .hljs-attr{color:#24292f}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-variable{color:#24292f}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-params{color:#24292f}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-attr{color:#24292f}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-variable{color:#24292f}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-params{color:#24292f}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-attr{color:#24292f}[data-theme=light] .blog-module__JsT-Oq__content .hljs-meta{color:#6e7781}[data-theme=light] .blog-module__JsT-Oq__content .hljs-meta-keyword{color:#6e7781}[data-theme=light] .blog-module__JsT-Oq__content .hljs-meta-string{color:#6e7781}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-meta{color:#6e7781}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-meta-keyword{color:#6e7781}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-meta-string{color:#6e7781}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-meta{color:#6e7781}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-meta-keyword{color:#6e7781}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-meta-string{color:#6e7781}[data-theme=light] .blog-module__JsT-Oq__content .hljs-punctuation{color:#57606a}[data-theme=light] .blog-module__JsT-Oq__content .hljs-operator{color:#57606a}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-punctuation{color:#57606a}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-operator{color:#57606a}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-punctuation{color:#57606a}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-operator{color:#57606a}[data-theme=light] .blog-module__JsT-Oq__content .hljs-addition{color:#116329;background:#1f883d26}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-addition{color:#116329;background:#1f883d26}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-addition{color:#116329;background:#1f883d26}[data-theme=light] .blog-module__JsT-Oq__content .hljs-deletion{color:#cf222e;background:#cf222e26}[data-blog-theme=light] .blog-module__JsT-Oq__content .hljs-deletion{color:#cf222e;background:#cf222e26}.blog-module__JsT-Oq__page[data-theme=light] .blog-module__JsT-Oq__content .hljs-deletion{color:#cf222e;background:#cf222e26}.blog-module__JsT-Oq__content blockquote{border-left:2px solid var(--brass);color:var(--bone);margin:36px 0;padding:10px 0 10px 22px;font-size:1.1em;font-style:italic}.blog-module__JsT-Oq__content table{border-collapse:collapse;width:100%;margin:32px 0;font-size:13.5px}.blog-module__JsT-Oq__content th,.blog-module__JsT-Oq__content td{border:1px solid var(--line);text-align:left;padding:10px 14px}.blog-module__JsT-Oq__content th{background:var(--carbon);font-family:var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--brass);font-size:11px}.blog-module__JsT-Oq__footer{border-top:1px solid var(--line);background:var(--void);min-height:60px;color:var(--smoke);font-family:var(--font-mono), monospace;letter-spacing:.1em;justify-content:space-between;align-items:center;padding:20px clamp(20px,4vw,48px);font-size:10px;font-weight:700;display:flex}.blog-module__JsT-Oq__footer a{color:inherit;text-decoration:none}.blog-module__JsT-Oq__footer a:hover{color:var(--brass)}@media (max-width:760px){.blog-module__JsT-Oq__nav{min-height:56px;padding:10px 16px}.blog-module__JsT-Oq__navTitle{display:none}.blog-module__JsT-Oq__hero{padding:28px 16px 16px}.blog-module__JsT-Oq__hero h1{font-size:30px}.blog-module__JsT-Oq__heroBottom{flex-direction:column;gap:10px}.blog-module__JsT-Oq__index{padding:12px 16px 60px}.blog-module__JsT-Oq__entry{grid-template-columns:24px 1fr;gap:12px;padding:18px 8px}.blog-module__JsT-Oq__entryMeta{grid-column:2;margin-top:4px;font-size:10px}.blog-module__JsT-Oq__article{padding:24px 16px 64px}.blog-module__JsT-Oq__articleHeader h1{font-size:24px}.blog-module__JsT-Oq__articleMeta{flex-direction:column;gap:6px}.blog-module__JsT-Oq__content{font-size:15.5px;line-height:1.75}.blog-module__JsT-Oq__content>:first-child{font-size:16.5px}.blog-module__JsT-Oq__content h2{margin-top:32px;font-size:19px}.blog-module__JsT-Oq__content h3{margin-top:24px;font-size:16px}.blog-module__JsT-Oq__content pre{border-radius:6px;margin:24px -8px;padding:34px 14px 14px;font-size:12px}.blog-module__JsT-Oq__content .blog-code-block{border-radius:6px;margin:24px -8px;padding:34px 14px 14px;font-size:12px}}
