body[a="dark"]{filter:invert(1)}body[a="dark"] img{filter:invert(1)}body[a="dark"] img.ioda{filter:invert(0)}body[a="dark"] .emoji{filter:invert(1)}body[a="dark"] iframe{filter:invert(1)}@media (prefers-color-scheme: dark){body[a="auto"]{filter:invert(1)}body[a="auto"] img{filter:invert(1)}body[a="auto"] img.ioda{filter:invert(0)}body[a="auto"] .emoji{filter:invert(1)}body[a="auto"] iframe{filter:invert(1)}}html,body{background:white}html{height:100%;scroll-behavior:smooth}body{color:black;font-family:monospace;font-size:16px;line-height:1.4;margin:0;min-height:100%;overflow-wrap:break-word}.post-meta{text-align:right}h2,h3,h4,h5,h6{margin-top:3rem}hr{margin:2rem 0}p{margin:1rem 0}li{margin:0.4rem 0}*:target{background:yellow}.w{max-width:640px;margin:0 auto;padding:4rem 2rem}hr{text-align:center;border:0}hr:before{content:"/////"}hr:after{content:attr(data-content) "/////"}table{width:100%}table,th,td{border:thin solid black;border-collapse:collapse;padding:0.4rem}code{color:white;background:black}div.highlighter-rouge code{display:block;overflow-x:auto;white-space:pre-wrap;padding:1rem}blockquote{font-style:italic;border:thin solid black;padding:1rem}blockquote p{margin:0}img{max-width:100%;display:block;margin:0 auto}div.highlighter-rouge,div.highlight,figure.highlight{position:relative}.copy-code-button{position:absolute;top:0.5rem;right:0.5rem;padding:0.4rem;background:white;color:black;border:thin solid black;cursor:pointer;opacity:0;transition:opacity 0.3s;display:flex;align-items:center;justify-content:center;line-height:0}.copy-code-button svg{display:block}.copy-code-button:hover{opacity:1 !important}.copy-code-button:active{background:black;color:white}div.highlighter-rouge:hover .copy-code-button,div.highlight:hover .copy-code-button,figure.highlight:hover .copy-code-button{opacity:0.7}html{overflow-x:hidden !important;max-width:100vw !important}body{overflow-x:hidden !important;max-width:100vw !important}*{box-sizing:border-box !important}body{font-size:20px !important}p,span,div,a{font-variant-emoji:normal}a>span{color:inherit}header+p{margin-top:1rem;margin-bottom:2rem;font-size:1.1em;line-height:1.6}.emoji{font-family:"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";font-style:normal;font-weight:normal;text-decoration:none;display:inline}p .emoji,a .emoji{color:initial;-webkit-text-fill-color:initial}header+p::first-line{color:inherit}.categories-overview{margin-bottom:2rem !important}.social-links{display:flex;gap:1rem;margin-top:2rem;margin-bottom:1rem;padding-top:1.5rem;border-top:1px solid #ddd;align-items:center;justify-content:center}.social-links a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:all 0.2s ease;background-color:#f0f0f0;border-radius:50%;width:40px;height:40px;padding:0;overflow:hidden;box-sizing:border-box}.social-links a:hover{opacity:0.7;background-color:#e0e0e0}.social-icon{width:24px;height:24px;stroke:#000000 !important;fill:none !important;stroke-width:2 !important;display:block;flex-shrink:0}body[a="dark"] .social-links a{background-color:#e8e8e8}body[a="dark"] .social-links a:hover{background-color:#d0d0d0}body[a="dark"] .social-icon{stroke:#000000 !important}@media (prefers-color-scheme: dark){body[a="auto"] .social-links a{background-color:#e8e8e8}body[a="auto"] .social-links a:hover{background-color:#d0d0d0}body[a="auto"] .social-icon{stroke:#000000 !important}}body[a="light"] .social-links a{background-color:#f0f0f0}body[a="light"] .social-icon{stroke:#000000 !important}body[a="dark"] .social-links{border-top-color:#555}@media (prefers-color-scheme: dark){body[a="auto"] .social-links{border-top-color:#555}}@media (max-width: 768px){.social-links{gap:1.5rem;padding-top:1rem;margin-top:1.5rem;flex-wrap:wrap}.social-links a{width:44px !important;height:44px !important;padding:0 !important;flex-shrink:0;display:flex !important;align-items:center !important;justify-content:center !important;overflow:hidden}.social-icon{width:24px !important;height:24px !important;display:block !important;flex-shrink:0}}@media (max-width: 480px){.social-links{gap:1.2rem}.social-links a{width:40px !important;height:40px !important;padding:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;overflow:hidden}.social-icon{width:20px !important;height:20px !important;display:block !important;flex-shrink:0}}.post-nav{margin-top:3rem;padding-top:2rem;border-top:1px solid #ddd}.related-posts{margin-top:3rem;padding-top:2rem;border-top:1px solid #ddd}.related-posts h3{margin-top:0;margin-bottom:1rem;font-size:1.1em;font-weight:normal}.related-posts ul{list-style:none;padding-left:0;margin:0}.related-posts li{margin-bottom:0.75rem;display:flex;gap:1rem;align-items:baseline}.related-post-date{font-size:0.85em;color:#666;flex-shrink:0;min-width:80px}.related-posts a{text-decoration:none;color:inherit}.related-posts a:hover{text-decoration:underline}body[a="dark"] .related-posts{border-top-color:#555}body[a="dark"] .related-post-date{color:#999}@media (prefers-color-scheme: dark){body[a="auto"] .related-posts{border-top-color:#555}body[a="auto"] .related-post-date{color:#999}}@media (max-width: 768px){.related-posts{margin-top:2rem;padding-top:1.5rem}.related-posts li{flex-direction:column;gap:0.25rem;align-items:flex-start}.related-post-date{font-size:0.8em;min-width:auto}}.post-nav-links{display:flex;justify-content:space-between;align-items:center;gap:1rem}.post-nav-prev,.post-nav-next,.post-nav-home{text-decoration:none;color:inherit;padding:0.5rem 1rem;border-radius:4px;transition:all 0.2s ease}.post-nav-prev:hover,.post-nav-next:hover{background-color:#f0f0f0}.post-nav-home:hover{background-color:#000000;color:#ffffff}.post-nav-home{font-weight:normal}.post-nav-disabled{color:#999;padding:0.5rem 1rem}body[a="dark"] .post-nav{border-top-color:#555}body[a="dark"] .post-nav-prev:hover,body[a="dark"] .post-nav-next:hover{background-color:#2d2d2d}body[a="dark"] .post-nav-home:hover{background-color:#ffffff;color:#000000}body[a="dark"] .post-nav-disabled{color:#666}@media (prefers-color-scheme: dark){body[a="auto"] .post-nav{border-top-color:#555}body[a="auto"] .post-nav-prev:hover,body[a="auto"] .post-nav-next:hover{background-color:#2d2d2d}body[a="auto"] .post-nav-home:hover{background-color:#ffffff;color:#000000}body[a="auto"] .post-nav-disabled{color:#666}}@media (max-width: 768px){.post-nav{margin-top:2rem;padding-top:1.5rem}.post-nav-links{flex-direction:column;gap:0.75rem}.post-nav-prev,.post-nav-next,.post-nav-home{width:100%;text-align:center;display:block}.post-nav-disabled{display:block;width:100%;text-align:center}}@media (max-width: 480px){.social-links{gap:1.2rem}.social-links a{width:40px;height:40px;padding:8px}.social-icon{width:22px;height:22px}}.category-list{display:flex !important;flex-wrap:wrap !important;gap:1rem !important;margin-bottom:1.5rem !important;list-style:none !important;padding:0 !important}.category-list li{list-style:none !important;margin:0 !important}.category-list a{padding:0.5rem 1rem !important;background-color:#f0f0f0 !important;border-radius:6px !important;text-decoration:none !important;border:1px solid #ddd !important;display:inline-block !important;color:inherit !important;font-size:0.9em !important}.category-list a:hover{background-color:#e0e0e0 !important}.see-all-posts{text-align:center !important;margin-top:2rem !important;padding-top:1rem !important;border-top:1px solid #eee !important}.see-all-posts a{text-decoration:none !important;color:inherit !important;font-style:italic !important}.see-all-posts a:hover{text-decoration:underline !important}body[a="dark"] .category-list a{background-color:#2d2d2d !important;border:1px solid #555 !important;color:#e0e0e0 !important}body[a="dark"] .category-list a:hover{background-color:#3d3d3d !important}body[a="dark"] .see-all-posts{border-top:1px solid #444 !important}@media (prefers-color-scheme: dark){body[a="auto"] .category-list a{background-color:#2d2d2d !important;border:1px solid #555 !important;color:#e0e0e0 !important}body[a="auto"] .category-list a:hover{background-color:#3d3d3d !important}body[a="auto"] .see-all-posts{border-top:1px solid #444 !important}}h2,h3,h4,h5,h6{border-bottom:1px solid #ddd !important;padding-bottom:0.3rem !important;margin-bottom:1rem !important}body[a="dark"] h2,body[a="dark"] h3,body[a="dark"] h4,body[a="dark"] h5,body[a="dark"] h6{border-bottom:1px solid #555 !important}@media (prefers-color-scheme: dark){body[a="auto"] h2,body[a="auto"] h3,body[a="auto"] h4,body[a="auto"] h5,body[a="auto"] h6{border-bottom:1px solid #555 !important}}img{display:block !important;margin:0.5rem 0 !important;max-width:100% !important;height:auto !important}li img{margin-left:0 !important;margin-top:0.5rem !important;margin-bottom:0.5rem !important}p img{margin:0.5rem 0 !important}blockquote{margin:0.5rem 0 !important;padding:0 !important;border:none !important;background:none !important;font-style:italic !important;margin-left:0 !important;text-align:left !important;color:inherit !important}blockquote p{margin:0 !important;padding:0 !important;font-style:italic !important;display:block !important;text-align:left !important}li blockquote{margin:0.3rem 0 0.5rem 0 !important;padding:0 !important;margin-left:0 !important;border:none !important;background:none !important;font-style:italic !important;display:block !important;text-align:left !important;color:inherit !important}li blockquote p{margin:0 !important;padding:0 !important;font-style:italic !important;display:block !important;text-align:left !important}li em{display:block !important;margin:0.3rem 0 0.5rem 0 !important;font-style:italic !important;color:inherit !important;text-align:left !important}li strong em,li em strong{display:block !important;margin:0.3rem 0 0.5rem 0 !important;font-style:italic !important;color:inherit !important;text-align:left !important}.w{max-width:none !important;width:98% !important;margin:0 auto !important;padding:1rem !important}main.page-content{width:100% !important;margin:0 !important;padding:0 !important}@media (min-width: 480px){.w{width:97% !important;padding:1.5rem !important}}@media (min-width: 768px){.w{width:96% !important;padding:2rem !important}}@media (min-width: 1024px){.w{width:95% !important;padding:2.5rem !important}}@media (min-width: 1440px){.w{width:94% !important;padding:3rem !important}}@media (min-width: 1920px){.w{width:93% !important;padding:3.5rem !important}}pre,div.highlighter-rouge pre,.highlight pre{background-color:#002b36 !important;color:#839496 !important;padding:1.5rem !important;border-radius:8px !important;overflow-x:auto !important;font-family:'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'SF Mono', Consolas, 'Liberation Mono', Menlo, monospace !important;font-size:14px !important;line-height:1.5 !important;border:1px solid #073642 !important;margin:1.5rem 0 !important;box-shadow:none !important;position:relative !important}code{background-color:#e8e8e8 !important;color:#333 !important;padding:0.2em 0.4em !important;border-radius:3px !important;font-size:85% !important;font-family:'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'SF Mono', Consolas, 'Liberation Mono', Menlo, monospace !important;border:none !important;font-weight:normal !important}body[a="dark"] code{background-color:#3c3c3c !important;color:#e0e0e0 !important}@media (prefers-color-scheme: dark){body[a="auto"] code{background-color:#3c3c3c !important;color:#e0e0e0 !important}}pre code,div.highlighter-rouge pre code,.highlight pre code{background-color:transparent !important;color:inherit !important;padding:0 !important;border-radius:0 !important;font-size:inherit !important;border:none !important;font-weight:normal !important}.highlight,div.highlighter-rouge{background:none !important;color:inherit !important;border-radius:0 !important;overflow:visible !important;margin:0 !important;border:none !important;box-shadow:none !important;padding:0 !important}.highlight .c,.highlight .cm,.highlight .cp,.highlight .c1,.highlight .cs{color:#586e75 !important;font-style:italic !important}.highlight .k,.highlight .kc,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:#859900 !important;font-weight:bold !important}.highlight .s,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .s2,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx,.highlight .sr,.highlight .s1{color:#2aa198 !important}.highlight .m,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:#d33682 !important}.highlight .n,.highlight .na,.highlight .nb,.highlight .nc,.highlight .nd,.highlight .ne,.highlight .nf,.highlight .ni,.highlight .nl,.highlight .nn,.highlight .nt,.highlight .nv,.highlight .nx{color:#268bd2 !important}.highlight .o,.highlight .ow{color:#859900 !important}.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:#569cd6 !important;font-weight:bold !important}.highlight .s,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .s2,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx,.highlight .sr,.highlight .s1{color:#ce9178 !important}.highlight .m,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:#b5cea8 !important}.highlight .n,.highlight .na,.highlight .nb,.highlight .nc,.highlight .no,.highlight .nd,.highlight .ni,.highlight .ne,.highlight .nf,.highlight .nl,.highlight .nn,.highlight .nx,.highlight .py,.highlight .nt,.highlight .nv{color:#d4d4d4 !important}.highlight .o,.highlight .ow{color:#d4d4d4 !important}.highlight .l-Scalar-Plain{color:#ce9178 !important}.highlight .gp{color:#6a9955 !important}.highlight .go{color:#d4d4d4 !important}body pre,article pre,.post pre,main pre,div pre,pre{background-color:#2d2d30 !important;color:#cccccc !important;padding:20px !important;border-radius:8px !important;overflow-x:auto !important;font-family:ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace !important;font-size:14px !important;line-height:1.5 !important;border:2px solid #555555 !important;margin:1.5em 0 !important;box-shadow:0 2px 8px rgba(255,255,255,0.1) !important}body code,article code,.post code,main code,div code,code{background-color:#3c3c3c !important;color:#e0e0e0 !important;padding:0.3em 0.5em !important;border-radius:4px !important;font-size:90% !important;font-family:ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace !important;border:1px solid #666666 !important}pre code,body pre code,article pre code,.post pre code,main pre code,div pre code{background-color:transparent !important;color:inherit !important;padding:0 !important;border-radius:0 !important;font-size:inherit !important;border:none !important}.highlight,body .highlight,article .highlight,.post .highlight,main .highlight,div .highlight{background-color:#2d2d30 !important;color:#cccccc !important;border-radius:8px !important;overflow-x:auto !important;margin:1.5em 0 !important;border:2px solid #555555 !important;box-shadow:0 2px 8px rgba(255,255,255,0.1) !important}.highlight pre,body .highlight pre,article .highlight pre,.post .highlight pre,main .highlight pre,div .highlight pre{margin:0 !important;background-color:transparent !important;border:none !important;padding:16px !important}.highlight .c,.highlight .cm,.highlight .cp,.highlight .c1,.highlight .cs,body .highlight .c,body .highlight .cm,body .highlight .cp,body .highlight .c1,body .highlight .cs{color:#6a9955 !important;font-style:italic !important}.highlight .k,.highlight .kc,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt,body .highlight .k,body .highlight .kc,body .highlight .kd,body .highlight .kn,body .highlight .kp,body .highlight .kr,body .highlight .kt{color:#569cd6 !important;font-weight:bold !important}.highlight .s,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .s2,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx,.highlight .sr,.highlight .s1,body .highlight .s,body .highlight .sb,body .highlight .sc,body .highlight .sd,body .highlight .s2,body .highlight .se,body .highlight .sh,body .highlight .si,body .highlight .sx,body .highlight .sr,body .highlight .s1{color:#ce9178 !important}.highlight .m,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo,body .highlight .m,body .highlight .mf,body .highlight .mh,body .highlight .mi,body .highlight .mo{color:#b5cea8 !important}.highlight .n,.highlight .na,.highlight .nb,.highlight .nc,.highlight .no,.highlight .nd,.highlight .ni,.highlight .ne,.highlight .nf,.highlight .nl,.highlight .nn,.highlight .nx,.highlight .py,.highlight .nt,.highlight .nv,body .highlight .n,body .highlight .na,body .highlight .nb,body .highlight .nc,body .highlight .no,body .highlight .nd,body .highlight .ni,body .highlight .ne,body .highlight .nf,body .highlight .nl,body .highlight .nn,body .highlight .nx,body .highlight .py,body .highlight .nt,body .highlight .nv{color:#d4d4d4 !important}.highlight .o,.highlight .ow,body .highlight .o,body .highlight .ow{color:#d4d4d4 !important}.highlight .l-Scalar-Plain,body .highlight .l-Scalar-Plain{color:#ce9178 !important}.highlight .gp,body .highlight .gp{color:#6a9955 !important}.highlight .go,body .highlight .go{color:#d4d4d4 !important}.post-container{display:flex;flex-direction:row;align-items:flex-start;gap:2rem}.post-content{flex:1;min-width:0}.toc{width:280px;position:-webkit-sticky;position:sticky;top:2rem;align-self:flex-start;max-height:calc(100vh - 4rem);overflow-y:auto;font-size:0.85em}#toc-container{border:none;border-radius:0;padding:0;background:transparent}#toc-title{font-weight:normal;margin-top:0;border-bottom:1px solid #ddd;padding-bottom:0.5rem;margin-bottom:1rem;font-size:1em}#toc-list,#markdown-toc{list-style:none;padding-left:0;margin-bottom:0}#markdown-toc ul{padding-left:1rem;list-style-type:none;margin-top:0.5rem}#markdown-toc>li{margin-bottom:0.5rem}#markdown-toc li{margin-bottom:0.3rem}#markdown-toc li a{text-decoration:none;color:inherit;display:block;padding:0.2rem 0;font-size:0.9em}#markdown-toc li a:hover{text-decoration:underline}body[a="dark"] #toc-title{border-color:#555}@media (prefers-color-scheme: dark){body[a="auto"] #toc-title{border-color:#555}}@media (max-width: 1024px){.post-container{flex-direction:column}.post-content{order:2}.toc{order:1;position:static;width:100%;max-height:none;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #ddd}#toc-container{padding:0}#toc-title{font-size:1.1em;margin-bottom:0.75rem}#markdown-toc{font-size:0.9em}#markdown-toc li{margin-bottom:0.4rem}}@media (max-width: 1024px) and (prefers-color-scheme: dark){body[a="auto"] .toc{border-bottom-color:#555}}body[a="dark"] .toc{border-bottom-color:#555 !important}h2:target,h3:target,h4:target,h5:target,h6:target{background-color:#e8e8e8 !important;color:#333 !important;padding:0.5rem !important;border-radius:3px !important;transition:background-color 0.3s ease}body[a="dark"] h2:target,body[a="dark"] h3:target,body[a="dark"] h4:target,body[a="dark"] h5:target,body[a="dark"] h6:target{background-color:#3c3c3c !important;color:#e0e0e0 !important}@media (prefers-color-scheme: dark){body[a="auto"] h2:target,body[a="auto"] h3:target,body[a="auto"] h4:target,body[a="auto"] h5:target,body[a="auto"] h6:target{background-color:#3c3c3c !important;color:#e0e0e0 !important}}@media (max-width: 768px){html,body{overflow-x:hidden !important;max-width:100vw !important}body,article,.post-content,p,li,h1,h2,h3,h4,h5,h6{word-wrap:break-word !important;overflow-wrap:break-word !important;word-break:break-word !important;hyphens:auto !important}body{font-size:18px !important}.w{width:100% !important;padding:0.75rem !important;box-sizing:border-box !important}.category-list{gap:0.5rem !important}.category-list a{padding:0.4rem 0.8rem !important;font-size:0.85em !important}h1{font-size:1.5em !important}h2{font-size:1.3em !important}h3{font-size:1.1em !important}pre{overflow-x:auto !important;font-size:12px !important;padding:1rem !important}img{max-width:100% !important;height:auto !important}a{padding:0.2rem 0 !important;display:inline-block !important}ul,ol{padding-left:1.5rem !important}li{margin-bottom:0.5rem !important}}@media (max-width: 480px){html,body{overflow-x:hidden !important;max-width:100vw !important}*{max-width:100% !important}body{font-size:16px !important}.w{padding:0.5rem !important;width:100% !important;box-sizing:border-box !important}article,.post-content{max-width:100% !important;overflow-x:hidden !important}h1{font-size:1.3em !important}h2{font-size:1.2em !important}h3{font-size:1.05em !important}pre{font-size:11px !important;padding:0.75rem !important}code{font-size:80% !important}.category-list{flex-direction:column !important}.category-list a{display:block !important;text-align:center !important}}
