.author-link[data-astro-cid-ynhdph36]:hover{background-color:hsl(var(--muted));color:hsl(var(--foreground));box-shadow:0 1px 3px #0000001a}.dark[data-astro-cid-ynhdph36] .author-link[data-astro-cid-ynhdph36]:hover{background-color:hsl(var(--muted) / .8)}.toc-summary[data-astro-cid-xvrfupwn]::-webkit-details-marker{display:none}.toc-details[data-astro-cid-xvrfupwn][open] .toc-icon[data-astro-cid-xvrfupwn]{transform:rotate(180deg)}.toc-item-2[data-astro-cid-xvrfupwn]{margin-left:0}.toc-item-3[data-astro-cid-xvrfupwn]{margin-left:1rem}.toc-item-4[data-astro-cid-xvrfupwn]{margin-left:2rem}.toc-item-5[data-astro-cid-xvrfupwn]{margin-left:3rem}.toc-item-6[data-astro-cid-xvrfupwn]{margin-left:4rem}html{scroll-behavior:smooth}.article-content .swell-block-postLink{margin-bottom:2rem}.article-content .p-blogCard{overflow:hidden;border-radius:.5rem;border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--background));--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.article-content .p-blogCard:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.article-content .p-blogCard.-external{position:relative}.article-content .p-blogCard__inner{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1.5rem 1.5rem}@media (min-width: 768px){.article-content .p-blogCard__inner{margin:0;flex-direction:row}}.article-content .p-blogCard__caption{position:absolute;top:.5rem;left:.5rem;z-index:10;border-radius:.25rem;background-color:hsl(var(--primary));padding:.25rem .5rem;font-size:.75rem;line-height:1rem;color:hsl(var(--primary-foreground));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.article-content .p-blogCard__thumb{display:none;max-width:200px}@media (min-width: 768px){.article-content .p-blogCard__thumb{display:block}}.article-content .c-postThumb__figure{width:100%;overflow:hidden}.article-content .c-postThumb__img{width:100%;-o-object-fit:cover;object-fit:cover;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.article-content .c-postThumb__img:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.article-content .c-postThumb__img{-o-object-position:center;object-position:center}.article-content .c-postThumb__img.u-obf-cover{-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top}.article-content .p-blogCard__body{display:flex;flex-direction:column}.article-content .p-blogCard__title{margin-bottom:.75rem;display:block;font-size:1rem;line-height:1.5rem;font-weight:600;line-height:1.375;color:hsl(var(--foreground));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-content .p-blogCard__title:hover{color:hsl(var(--primary))}@media (min-width: 768px){.article-content .p-blogCard__title{font-size:1.125rem;line-height:1.75rem}}.article-content .p-blogCard__title{text-decoration:none!important}.article-content .p-blogCard__excerpt{font-size:.875rem;line-height:1.25rem;line-height:1.625;color:hsl(var(--muted-foreground));display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media (min-width: 768px){.article-content .p-blogCard__excerpt{font-size:1rem;line-height:1.5rem}}.article-content .p-blogCard.-external .p-blogCard__title:after{margin-left:.25rem;font-size:.75rem;line-height:1rem;color:hsl(var(--muted-foreground));--tw-content: "↗";content:var(--tw-content)}.article-content .p-blogCard[data-onclick=clickLink]:hover{cursor:pointer;border-color:hsl(var(--primary) / .3)}.article-content .p-blogCard[data-onclick=clickLink]:hover .p-blogCard__title{color:hsl(var(--primary))}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.article-content .swell-block-balloon{margin-bottom:2rem}.article-content .c-balloon{display:flex;max-width:42rem;align-items:flex-start;gap:1rem}.article-content .c-balloon.-bln-left{flex-direction:row}.article-content .c-balloon.-bln-right{flex-direction:row-reverse}.article-content .c-balloon__icon{flex-shrink:0}.article-content .c-balloon__icon.-circle{height:4rem;width:4rem;overflow:hidden;border-radius:9999px;border-width:2px;border-color:hsl(var(--border));--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.article-content .c-balloon__iconImg{height:100%;width:100%;-o-object-fit:cover;object-fit:cover}.article-content .c-balloon__body{position:relative;flex:1 1 0%}.article-content .c-balloon__body.-speaking{position:relative;border-radius:.5rem;border-width:1px;border-color:hsl(var(--border));background-color:hsl(var(--background));padding:.75rem 1rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.article-content .c-balloon__body.-border-none{border-style:none}.article-content .c-balloon__text{font-size:.875rem;line-height:1.25rem;line-height:1.625;color:hsl(var(--foreground))}@media (min-width: 768px){.article-content .c-balloon__text{font-size:1rem;line-height:1.5rem}}.article-content .c-balloon__text p{margin-bottom:0;font-size:.875rem;line-height:1.25rem}@media (min-width: 768px){.article-content .c-balloon__text p{font-size:1rem;line-height:1.5rem}}.article-content .c-balloon__shapes{position:absolute;top:1rem}.article-content .c-balloon.-bln-left .c-balloon__shapes{left:-.5rem}.article-content .c-balloon.-bln-right .c-balloon__shapes{right:-.5rem}.article-content .c-balloon__before,.article-content .c-balloon__after{position:absolute;height:0px;width:0px;border-style:solid}.article-content .c-balloon.-bln-left .c-balloon__before{border-right:8px solid hsl(var(--border));border-top:8px solid transparent;border-bottom:8px solid transparent;left:-1px}.article-content .c-balloon.-bln-left .c-balloon__after{border-right:8px solid hsl(var(--background));border-top:8px solid transparent;border-bottom:8px solid transparent;left:0}.article-content .c-balloon.-bln-right .c-balloon__before{border-left:8px solid hsl(var(--border));border-top:8px solid transparent;border-bottom:8px solid transparent;right:-1px}.article-content .c-balloon.-bln-right .c-balloon__after{border-left:8px solid hsl(var(--background));border-top:8px solid transparent;border-bottom:8px solid transparent;right:0}.article-content .c-balloon[data-col=gray] .c-balloon__body{border-color:hsl(var(--muted));background-color:hsl(var(--muted) / .5)}.article-content .c-balloon[data-col=gray] .c-balloon__after{border-right-color:hsl(var(--muted));border-left-color:hsl(var(--muted))}.article-content .c-balloon[data-col=blue] .c-balloon__body{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.article-content .c-balloon[data-col=blue] .c-balloon__body:is(.dark *){--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity, 1));background-color:#1e3a8a33}.article-content .c-balloon[data-col=green] .c-balloon__body{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.article-content .c-balloon[data-col=green] .c-balloon__body:is(.dark *){--tw-border-opacity: 1;border-color:rgb(22 101 52 / var(--tw-border-opacity, 1));background-color:#14532d33}.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6{position:relative;margin-top:3rem;margin-bottom:2rem;font-weight:600;color:hsl(var(--foreground))}.article-content h1{border-bottom-width:2px;border-color:hsl(var(--primary) / .2);padding-bottom:1rem;font-size:1.5rem;line-height:2rem}@media (min-width: 768px){.article-content h1{font-size:1.875rem;line-height:2.25rem}}.article-content h2{position:relative;border-bottom-width:1px;border-color:hsl(var(--border));padding-bottom:.75rem;font-size:1.25rem;line-height:1.75rem}@media (min-width: 768px){.article-content h2{font-size:1.5rem;line-height:2rem}}.article-content h2:before{position:absolute;bottom:0;left:0;height:.125rem;width:3rem;background-color:hsl(var(--primary));--tw-content: "";content:var(--tw-content)}.article-content h3{position:relative;padding-bottom:.5rem;font-size:1.125rem;line-height:1.75rem}@media (min-width: 768px){.article-content h3{font-size:1.25rem;line-height:1.75rem}}.article-content h3:before{position:absolute;left:0;top:0;height:100%;width:.25rem;background-image:linear-gradient(to bottom,var(--tw-gradient-stops));--tw-gradient-from: hsl(var(--primary)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: hsl(var(--primary) / .3) var(--tw-gradient-to-position);--tw-content: "";content:var(--tw-content);margin-left:-1rem}.article-content h4{position:relative;font-size:1rem;line-height:1.5rem}@media (min-width: 768px){.article-content h4{font-size:1.125rem;line-height:1.75rem}}.article-content h4:before{position:absolute;left:0;font-weight:400;color:hsl(var(--primary));--tw-content: "▸";content:var(--tw-content);margin-left:-1.5rem}.article-content h5,.article-content h6{font-size:.875rem;line-height:1.25rem;font-weight:500}@media (min-width: 768px){.article-content h5,.article-content h6{font-size:1rem;line-height:1.5rem}}.article-content p{margin-bottom:2rem;font-size:1rem;line-height:1.5rem;line-height:1.625;color:hsl(var(--foreground))}@media (min-width: 768px){.article-content p{font-size:1.125rem;line-height:1.75rem}}.article-content a{color:hsl(var(--primary));text-decoration-line:underline;text-underline-offset:4px}.article-content a:hover{color:hsl(var(--primary) / .8)}.article-content pre{background-color:#1a1a1a;color:#e5e5e5;border-radius:.5rem;padding:1rem 1.5rem;margin-bottom:1.5rem;overflow-x:auto;font-size:.875rem;line-height:1.5;position:relative;border:1px solid #333}@media (min-width: 768px){.article-content pre{padding:1.5rem;font-size:1rem}}.code-block-wrapper{position:relative}.code-block-wrapper:hover .copy-button{opacity:1}.copy-button{position:absolute;top:.5rem;right:.5rem;background-color:#ffffff1a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);border-radius:.375rem;padding:.5rem;transition:opacity .15s;cursor:pointer;display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#e5e5e5;opacity:0}.copy-button:hover{background-color:#fff3}.copy-button.copied{background-color:#22c55e33;color:#22c55e;border-color:#22c55e4d}.article-content code{background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));padding:.125rem .375rem;border-radius:.25rem;font-size:.875rem}.article-content pre code{background-color:transparent;color:inherit;padding:0;border-radius:0;font-size:inherit}.article-content blockquote{border-left:4px solid hsl(var(--primary) / .5);background-color:hsl(var(--muted) / .3);padding-left:1.5rem;padding-top:1rem;padding-bottom:1rem;font-style:italic;margin-bottom:1.5rem}.article-content ul,.article-content ol{margin-bottom:1.5rem;padding-left:1.5rem}@media (min-width: 768px){.article-content ul,.article-content ol{padding-left:2rem}}.article-content ul{list-style-type:disc}.article-content ol{list-style-type:decimal}.article-content li{margin-bottom:.75rem;font-size:1rem;line-height:1.625}@media (min-width: 768px){.article-content li{font-size:1.125rem}}.article-content img{border-radius:.5rem;max-width:100%;height:auto;box-shadow:0 4px 6px -1px #0000001a}.article-content .table-wrapper{overflow-x:auto;margin-bottom:1.5rem;margin-left:-1rem;margin-right:-1rem}@media (min-width: 768px){.article-content .table-wrapper{margin-left:0;margin-right:0}}.article-content .table-wrapper table{min-width:100%}.article-content table{width:100%;border-collapse:collapse;box-shadow:0 1px 3px #0000001a;border-radius:.5rem;overflow:hidden}.article-content th,.article-content td{border:1px solid hsl(var(--border));padding:.75rem 1rem;font-size:.875rem;white-space:nowrap}@media (min-width: 768px){.article-content th,.article-content td{padding:.5rem 1rem;font-size:1rem;white-space:normal}}.article-content th{background-color:hsl(var(--muted));font-weight:600}@media (max-width: 768px){.article-content .table-wrapper{position:relative}.article-content .table-wrapper:after{content:"";position:absolute;top:0;right:0;bottom:0;width:2rem;pointer-events:none;background:linear-gradient(to left,hsl(var(--background)),transparent)}.article-content .table-wrapper::-webkit-scrollbar{height:.5rem}.article-content .table-wrapper::-webkit-scrollbar-track{background-color:hsl(var(--muted) / .3);border-radius:.25rem}.article-content .table-wrapper::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground) / .3);border-radius:.25rem}.article-content .table-wrapper::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--muted-foreground) / .5)}}figcaption{font-size:.875rem;font-style:italic;color:hsl(var(--muted-foreground));margin-top:.5rem}.article-content>*:first-child{margin-top:0}.article-content>*:last-child{margin-bottom:0}.article-content h2{margin-top:4rem;margin-bottom:2rem}.article-content h3{margin-top:3.5rem;margin-bottom:1.5rem}.article-content h4{margin-top:3rem;margin-bottom:1.25rem}.article-content a:not(.no-style){font-weight:500}.article-content pre code{line-height:1.625}.article-content blockquote p{margin-bottom:0}.article-content ul,.article-content ol{margin-bottom:2rem}.article-content ul>:not([hidden])~:not([hidden]),.article-content ol>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.article-content ul,.article-content ol{padding-left:1.5rem}.article-content li{font-size:1rem;line-height:1.5rem;line-height:1.625}@media (min-width: 768px){.article-content li{font-size:1.125rem;line-height:1.75rem}}.article-content ul ul,.article-content ol ol,.article-content ul ol,.article-content ol ul{margin-top:.75rem;margin-bottom:0}.article-content>*+*{margin-top:2rem}.article-content>h2+*,.article-content>h3+*,.article-content>h4+*{margin-top:1.5rem}.article-content img+em{margin-top:.5rem;margin-bottom:2rem;display:block;text-align:center;font-size:.875rem;line-height:1.25rem;color:hsl(var(--muted-foreground))}.article-content hr{margin-top:3rem;margin-bottom:3rem;border-top-width:1px;border-color:hsl(var(--border))}.heading-anchor{margin-left:.5rem;font-weight:400;color:hsl(var(--muted-foreground));text-decoration-line:none;opacity:0;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.heading-anchor:hover{color:hsl(var(--primary))}.article-content h1:hover .heading-anchor,.article-content h2:hover .heading-anchor,.article-content h3:hover .heading-anchor,.article-content h4:hover .heading-anchor,.article-content h5:hover .heading-anchor,.article-content h6:hover .heading-anchor{opacity:1}.article-content h3{padding-left:1rem}.article-content h4{padding-left:1.5rem}html{scroll-padding-top:120px}
