@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.theme-toggle[data-astro-cid-l6lhmie6]{background:var(--color-accent);cursor:pointer;color:#fff;border:none;border-radius:100%;flex:none;justify-content:center;align-items:center;width:48px;height:48px;margin-right:10px;padding:0;transition:all .3s;display:flex}.theme-toggle[data-astro-cid-l6lhmie6]:hover{box-shadow:0 0 1px 7px #00a8d226}.theme-toggle[data-astro-cid-l6lhmie6] svg[data-astro-cid-l6lhmie6]{stroke:currentColor;width:18px;height:18px}.sun-icon[data-astro-cid-l6lhmie6]{display:none}.moon-icon[data-astro-cid-l6lhmie6],.dark .sun-icon[data-astro-cid-l6lhmie6]{display:block}.dark .moon-icon[data-astro-cid-l6lhmie6]{display:none}.site-logo-link[data-astro-cid-f7espo7c]{align-items:center;text-decoration:none;display:flex}.site-logo-svg[data-astro-cid-f7espo7c]{width:auto;height:56px}.logo-prompt[data-astro-cid-f7espo7c]{fill:var(--color-accent)}.logo-text[data-astro-cid-f7espo7c]{fill:var(--color-text)}.logo-cursor[data-astro-cid-f7espo7c]{fill:var(--color-accent)}.search-modal[data-astro-cid-etsyzymg]{z-index:9999;justify-content:center;align-items:flex-start;padding-top:80px;display:none;position:fixed;inset:0}.search-modal[data-astro-cid-etsyzymg].open{display:flex}.search-modal-overlay[data-astro-cid-etsyzymg]{background:#2f313d66;position:absolute;inset:0}.dark .search-modal-overlay[data-astro-cid-etsyzymg]{background:#0009}.search-modal-container[data-astro-cid-etsyzymg]{background:var(--color-card);border-radius:8px;width:100%;max-width:600px;margin:0 15px;position:relative;overflow:hidden;box-shadow:0 15px 40px #00000026}.dark .search-modal-container[data-astro-cid-etsyzymg]{box-shadow:0 15px 40px #0006}.search-modal-header[data-astro-cid-etsyzymg]{background:var(--color-card);border-bottom:1px solid var(--color-border);align-items:center;padding:0;display:flex}.search-input-wrapper[data-astro-cid-etsyzymg]{align-items:center;width:100%;padding:15px 20px;display:flex}.search-icon-wrapper[data-astro-cid-etsyzymg]{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-right:12px;display:flex}.search-icon[data-astro-cid-etsyzymg]{width:16px;height:16px;fill:var(--color-text-muted)}.search-clear-btn[data-astro-cid-etsyzymg]{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:flex}.search-clear-btn[data-astro-cid-etsyzymg] svg[data-astro-cid-etsyzymg]{width:14px;height:14px;fill:var(--color-text);transition:fill .15s}.search-clear-btn[data-astro-cid-etsyzymg]:hover svg[data-astro-cid-etsyzymg]{fill:var(--color-text-muted)}.search-input[data-astro-cid-etsyzymg]{color:var(--color-text);background:0 0;border:none;outline:none;flex:1;padding:0;font-family:inherit;font-size:16px}.search-input[data-astro-cid-etsyzymg]::placeholder{color:var(--color-text-muted)}.search-results[data-astro-cid-etsyzymg]{max-height:400px;overflow-y:auto}.search-results-section{padding:12px 0}.search-results-title{text-transform:uppercase;letter-spacing:1px;color:var(--color-text-muted);padding:0 20px 8px;font-size:11px;font-weight:600}.search-result-item{cursor:pointer;padding:12px 20px;transition:background-color .15s;display:block;color:var(--color-text)!important;text-decoration:none!important}.search-result-item:hover,.search-result-item.selected{background-color:var(--color-bg-secondary)}.search-result-item .search-result-title{margin:0;font-size:15px;font-weight:500;line-height:1.4;color:var(--color-text)!important}.search-result-item .search-result-excerpt{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;line-height:1.5;overflow:hidden;color:var(--color-text-muted)!important}.search-result-item mark{font-weight:700;color:inherit!important;background:0 0!important}.search-no-results{text-align:center;color:var(--color-text-muted);padding:20px;font-size:14px}:root{color-scheme:light;--color-bg:#fff;--color-bg-secondary:#f9f9fb;--color-text:#2f313d;--color-text-body:#535358;--color-text-muted:#a1a1a7;--color-accent:#00a8d2;--color-border:#e5e7e9;--color-card:#fff;--color-code-bg:#f1f7f8;--color-code-text:#18a9cd}:root.dark{color-scheme:dark;--color-bg:#252525;--color-bg-secondary:#1e1e1e;--color-text:#e5e5e5;--color-text-body:#b0b0b0;--color-text-muted:#888;--color-accent:#4ec9e8;--color-border:#3a3a3a;--color-card:#2d2d2d;--color-code-bg:#1e1e1e;--color-code-text:#4ec9e8}.dark .site-header .search-toggle,.dark .site-header .sidebar-toggle,.dark .site-header .theme-toggle{background:#303030;border:1px solid #404040}.dark .site-header .search-toggle:hover,.dark .site-header .sidebar-toggle:hover,.dark .site-header .theme-toggle:hover{border-color:var(--color-accent);box-shadow:0 0 10px #4ec9e866}*{transition:background-color .2s,border-color .2s}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,nav,section{display:block}summary{display:list-item}figure{text-align:center;margin:0 auto 1.66667em}figure>pre{text-align:left}pre,code,kbd,samp{font-family:monospace;font-size:1em}.post-content :not(pre)>code{background:var(--color-code-bg);color:var(--color-code-text);border:0;border-radius:3px;margin:0;padding:4px;font-size:.875em}.vscode{color:#d4d4d4;font-family:var(--font-fira-code), Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;white-space:pre;background-color:#222;border-radius:3px;margin:.5em 0 1.5em;padding:1em;font-size:16px;font-weight:500;line-height:1.5em;overflow:auto;box-shadow:0 5px 10px #000000a6}.expressive-code pre,.expressive-code code{font-family:var(--font-fira-code), Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace}.expressive-code .frame{box-shadow:0 5px 10px #000000a6}audio,canvas,video{display:inline-block}audio:not([controls]){height:0;display:none}[hidden],template{display:none}a{-webkit-text-decoration-skip:objects;background-color:#0000}a:focus:not(:focus-visible),a:active,a:hover{outline:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:2px}.site-header .search-toggle:focus-visible,.site-header .sidebar-toggle:focus-visible,.site-header .theme-toggle:focus-visible{outline-offset:3px;box-shadow:none;border-radius:100%}abbr[title]{border-bottom:none;text-decoration:underline dotted}b,strong{font-weight:700}dfn{font-style:italic}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{vertical-align:middle;border:0}svg:not(:root){overflow:hidden}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}button,input,optgroup,select,textarea{font:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner{border:0;padding:0}input::-moz-focus-inner{border:0;padding:0}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}textarea{overflow:auto}optgroup{font-weight:700}progress{vertical-align:baseline;display:inline-block}table{border-collapse:collapse;border-spacing:0}html{font-family:var(--font-karla), sans-serif;font-size:112.5%}body{background:var(--color-bg);color:var(--color-text-body);line-height:1.66667}a{color:var(--color-accent);text-decoration:none;transition:color .3s}a:hover{color:var(--color-text)}h1,h2,h3,h4,h5,h6{color:var(--color-text);text-rendering:optimizelegibility;font-weight:700;line-height:1.2}h1{margin:.75em 0 .375em;font-size:2.22222rem}h2{margin:.83333em 0 .41667em;font-size:2rem}h3{margin:1em 0 .5em;font-size:1.66667rem}h4{margin:1.25em 0 .625em;font-size:1.33333rem}h5{margin:1.5em 0 .75em;font-size:1.11111rem}h6{margin:1.66667em 0 .83333em;font-size:1rem}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}p{margin:0 0 1.66667em}address{margin:0 0 1.66667em;font-style:italic}mark,ins{color:var(--color-text-body);background:#fffac4;padding:0 3px;text-decoration:none}code{font-size:.88889rem}pre{color:#d8d8d8;white-space:pre;background:#2f313d;border-radius:3px;margin:0 0 1.875em;padding:1em;font-size:.88889rem;overflow:auto}blockquote{color:var(--color-text);text-align:center;margin:0 0 .88235em;font-size:1.88889rem;line-height:1.25;position:relative}blockquote:before,blockquote:after{background-color:var(--color-accent);content:"";height:3px;margin-left:auto;margin-right:auto;display:block}blockquote:before{width:60px;margin-bottom:30px}blockquote:after{width:30px;margin-top:40px}blockquote p{margin-bottom:.44117em}blockquote p:last-child{margin-bottom:0}blockquote small,blockquote cite{letter-spacing:3px;text-transform:uppercase;margin-top:1.25em;font-size:.47058em;font-style:normal;font-weight:400;display:block}dl{margin:0}dt{font-weight:700}dd{margin:0 0 1.66667em}ul,ol{margin:0 0 1.66667em;padding:0 0 0 1.66667em}li>ul,li>ol{margin-bottom:0}hr{background-color:var(--color-border);border:0;height:1px;margin:1.66667em 0}table{text-align:left;width:100%;margin:0 0 1.875em;font-size:.88889rem;line-height:1.5}caption{color:var(--color-text);text-align:left;margin-bottom:1em;font-size:.875em;font-style:normal}th,td{border-bottom:1px solid var(--color-border);padding:.625em 5px}th{color:var(--color-text);font-weight:700}label{color:var(--color-text);font-size:.88889rem;font-weight:700}input,select,textarea{background:var(--color-bg);border:1px solid var(--color-border);box-shadow:none;box-sizing:border-box;color:var(--color-text-body);vertical-align:baseline;border-radius:3px;max-width:100%;padding:8px 10px;font-size:16px;line-height:1.5}input[type=text],input[type=email],input[type=url],input[type=password],input[type=search],select,textarea{width:100%;display:block}input[type=text]:focus:not(:focus-visible),input[type=email]:focus:not(:focus-visible),input[type=url]:focus:not(:focus-visible),input[type=password]:focus:not(:focus-visible),input[type=search]:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:0}button,input[type=submit],input[type=button],input[type=reset],a.button{background:var(--color-accent);box-sizing:border-box;color:#fff;border:0;border-radius:30px;padding:10px 30px;font-size:16px;line-height:1.5;transition:all .3s;display:inline-block}button:hover,button:focus,button:active,input[type=submit]:hover,input[type=submit]:focus,input[type=submit]:active,input[type=button]:hover,input[type=button]:focus,input[type=button]:active,input[type=reset]:hover,input[type=reset]:focus,input[type=reset]:active,a.button:hover,a.button:focus{box-shadow:0 0 1px 7px #00a8d226}button:focus:not(:focus-visible),input[type=submit]:focus:not(:focus-visible),input[type=button]:focus:not(:focus-visible),input[type=reset]:focus:not(:focus-visible),a.button:focus:not(:focus-visible){outline:0}.sidebar-toggle{border-radius:100%;width:48px;height:48px;padding:0}.gh-subscribe-form .subscribe-email{border-radius:30px;width:100%;height:2.75em;padding-left:20px;padding-right:20px}.gh-subscribe-form .button{height:2.75em;margin:1.25em 0 0}.newsletter-box .subscribe-email,.newsletter-box .button{font-size:1rem}::-webkit-input-placeholder{color:var(--color-text-muted)}:-moz-placeholder-shown{color:var(--color-text-muted)}::-moz-placeholder{color:var(--color-text-muted);opacity:1}:-ms-placeholder-shown{color:var(--color-text-muted)}embed,iframe,object,video{max-width:100%}.fluid-width-video-wrapper{margin:0 0 1.66667em}img{max-width:100%;height:auto}.post-thumbnail img,.post-content img{border-radius:3px}.screen-reader-text,.site-logo+.site-title{clip:rect(1px, 1px, 1px, 1px);border:0;width:1px;height:1px;padding:0;overflow:hidden;position:absolute!important}.post-feed .post:after,.post-content:after{clear:both}.post-feed .post:before,.post-feed .post:after,.post-content:before,.post-content:after{content:"";display:table}.icon-more,.icon-close{color:inherit;background:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.icon-more{border-radius:2px;width:4px;height:4px}.icon-close{background:0;width:24px;height:2px}.icon-more:before,.icon-more:after,.icon-close:before,.icon-close:after{content:"";background:currentColor;width:100%;height:100%;position:absolute;top:0;left:0}.icon-more:before{border-radius:2px;margin-left:-6px}.icon-more:after{border-radius:2px;margin-left:6px}.icon-close:before{transform:rotate(45deg)}.icon-close:after{transform:rotate(-45deg)}.icon-arrow-left,.icon-arrow-right,.icon-arrow-up,.icon-arrow-down{color:inherit;background:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.icon-arrow-left,.icon-arrow-right{width:12px;height:2px}.icon-arrow-up,.icon-arrow-down{width:2px;height:12px}.icon-arrow-left:before,.icon-arrow-right:before,.icon-arrow-up:before,.icon-arrow-down:before{content:"";width:6px;height:6px;position:absolute}.icon-arrow-left:before{transform-origin:0 0;border-top:2px solid;border-left:2px solid;top:1px;left:-1px;transform:rotate(-45deg)}.icon-arrow-right:before{transform-origin:100% 0;border-top:2px solid;border-right:2px solid;top:1px;right:-1px;transform:rotate(45deg)}.icon-arrow-up:before{transform-origin:0 0;border-top:2px solid;border-left:2px solid;top:-1px;left:1px;transform:rotate(45deg)}.icon-arrow-down:before{transform-origin:0 100%;border-bottom:2px solid;border-left:2px solid;bottom:-1px;left:1px;transform:rotate(-45deg)}.footnotes-sep{clear:both}.footnotes-list{font-size:14px;line-height:1.5}.footnote-item p{margin-bottom:.5em}.social-links a,.top-button,.newer-posts,.older-posts{background:var(--color-bg-secondary);color:var(--color-text-body);text-align:center;border-radius:100%;width:40px;height:40px;font-size:14px;line-height:40px;transition:all .3s;display:inline-block;position:relative}.hero .social-links a{background:var(--color-bg);width:36px;height:36px}.social-links a:hover,.top-button:hover,.newer-posts:hover,.older-posts:hover{background:var(--color-accent);color:#fff;box-shadow:0 0 1px 7px #00a8d226}.social-links{flex-wrap:wrap;justify-content:center;display:flex}.social-links a{justify-content:center;align-items:center;margin:0 5px .5em;display:flex}.social-links svg{fill:currentColor;height:18px}@keyframes fadeInOpacity{0%{opacity:0}to{opacity:.15}}.fadeInDown{will-change:transform;animation-name:fadeInDown;animation-duration:.7s;animation-fill-mode:both}.delay_05s{animation-delay:.5s}.delay_075s{animation-delay:.75s}.delay_1s{animation-delay:1s}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}code[class*=language-],pre[class*=language-]{color:#f8f8f2;text-shadow:0 1px #0000004d;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;tab-size:4;hyphens:none;background:0 0;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;line-height:1.5}pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*=language-] ::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{border-radius:.5em;margin:.5em 0 4em;padding:1em;overflow:auto;box-shadow:0 20px 68px #0000008c}:not(pre)>code[class*=language-],pre[class*=language-]{background:#1e1e1e}:not(pre)>code[class*=language-]{white-space:normal;border-radius:.3em;padding:.1em}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#905}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#690}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{color:#9a6e3a;background:#ffffff80}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.function,.token.class-name{color:#dd4a68}.token.regex,.token.important,.token.variable{color:#e90}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.site{background:var(--color-bg);pointer-events:auto;z-index:1;transition:transform .25s ease-in-out;position:relative;overflow:hidden}.outer{padding-left:3vw;padding-right:3vw}.inner{max-width:720px;margin-left:auto;margin-right:auto}.inner-wide{max-width:1080px;margin-left:auto;margin-right:auto}.site-header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);margin:0 0 3.33333em;padding-top:1.11111em;padding-bottom:1.11111em}.site-header a{color:var(--color-text)}.site-header a:hover{color:var(--color-accent)}.site-header-inside{align-items:center;display:flex}.site-branding{flex:none;margin-right:30px}.site-logo{margin:0}.site-logo img{max-height:48px}.site-title{color:var(--color-text);text-rendering:optimizelegibility;margin:0;font-size:1.33333rem;font-weight:700;line-height:1.2}.site-header .site-navigation{flex:auto;align-items:center;display:flex}.site-header .menu{flex:auto;margin:0;padding:0;list-style:none}.site-header .menu-item{margin:0 25px 0 0;font-size:1.05em;line-height:1.5;display:inline-block}.site-header .sidebar-toggle{flex:none;margin-left:auto;position:relative}.site-header .search-toggle{background:var(--color-accent);cursor:pointer;color:#fff;border:none;border-radius:100%;flex:none;justify-content:center;align-items:center;width:48px;height:48px;margin-right:10px;padding:0;transition:all .3s;display:flex;position:relative}.site-header .search-toggle:hover{box-shadow:0 0 1px 7px #00a8d226}.site-header .search-toggle svg{fill:#fff;width:18px;height:18px}.post,.post-header{margin-bottom:1.66667em}.post-title{color:var(--color-text);margin:0 0 .75em;font-size:2.22222rem}.post-title a{color:inherit}.post-meta{color:var(--color-text-muted);letter-spacing:2px;text-transform:uppercase;margin-bottom:1.42857em;font-size:.77778rem;line-height:1.5}.featured-badge{color:var(--color-accent)}.post-thumbnail{margin-bottom:1.66667em;display:block}.post-thumbnail img{width:100%}.post-footer{margin-bottom:1.66667em}.post-tags,.post-share{font-size:.77778rem;line-height:1.5}.post-tags a{margin:0 10px 0 0;display:inline-block}.post-tags a:before{content:"#"}.post-share-title{color:var(--color-text);font-weight:700;display:inline-block}.post-share a{margin:0 0 0 10px;display:inline-block}.author-box{border:1px solid var(--color-border);text-align:center;border-radius:3px;margin:1.66667em 0 3.33333em;padding:1.66667em 30px}.author-avatar{margin:0 0 1.66667em}.author-avatar .avatar{border:2px solid var(--color-accent);border-radius:100%;width:70px;height:70px;display:inline-block;box-shadow:0 0 1px 7px #00a8d21a}.author-title{margin:0 0 .55556em;font-size:1rem}.author-description{margin:.71428em 0;font-size:14px}.featured-posts{border-bottom:1px solid var(--color-border);margin-bottom:5em;padding-bottom:1.66667em}.featured-posts .read-more{margin-top:2.5em}.post-feed-title{color:var(--color-text-body);letter-spacing:2px;text-transform:uppercase;margin-top:0;margin-bottom:2.14285em;font-size:14px;font-weight:400;line-height:1.2}.post-feed-title:after{background-color:var(--color-accent);content:"";width:60px;height:1px;margin-top:15px;display:block}.post-feed .post{max-width:720px;margin-left:auto;margin-right:auto}.post-feed .post-title{margin-bottom:.53571em;font-size:1.55556rem}.post-feed .post-meta{margin-bottom:.71428em}.page-header{border-left:3px solid var(--color-accent);margin-bottom:3.33333em;padding-left:30px}.page-title{margin:0;font-size:1.33333rem}.page-description{color:var(--color-text-muted);margin:.25em 0 0;font-size:.77778rem;line-height:1.5}.read-next-title{color:var(--color-text-body);letter-spacing:2px;text-transform:uppercase;margin:0 0 2.14285em;font-size:14px;font-weight:400}.read-next-title:after{background-color:var(--color-accent);content:"";width:60px;height:1px;margin-top:15px;display:block}.read-next .post{margin-bottom:1.66667em;display:flex}.read-next .post-header{flex:auto;margin-bottom:.83333em}.read-next .post-meta{margin-bottom:.5em}.read-next .post-title{margin:0;font-size:1.33333rem}.read-next .post-tags{margin:1.07142em 0 0}.read-next .post-thumbnail{flex:none;width:150px;margin:0 0 .83333em 30px}.newsletter-box{background:var(--color-bg-secondary);border:1px solid var(--color-border);box-sizing:border-box;text-align:center;border-radius:3px;margin-top:3.33333em;margin-bottom:3.33333em;padding:3.33333em 30px}.newsletter-box-title{margin:0 0 .41667em;font-size:2rem}.hero-wrap{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);margin:0 0 3.33333em;position:relative}.hero-wrap .site-header{background:0;border:0;margin:0;position:relative}.header-wrap{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);margin:0 0 3.33333em}.header-wrap .site-header{background:0;border:0;margin:0}::view-transition-group(site-header){animation-duration:.4s;animation-timing-function:ease-in-out;overflow:hidden}::view-transition-old(site-header),::view-transition-new(site-header){object-fit:cover;object-position:top;width:100%;height:100%}::view-transition-old(site-header){animation:.25s ease-out forwards header-fade-out}::view-transition-new(site-header){animation:.4s ease-in forwards header-fade-in}@keyframes header-fade-out{0%{opacity:1}to{opacity:0}}@keyframes header-fade-in{0%{opacity:0}to{opacity:1}}.hero-wrap-bg{opacity:.15;background-position:50%;background-size:cover;animation-name:fadeInOpacity;animation-duration:.45s;animation-delay:.45s;animation-fill-mode:both;position:absolute;inset:0}.hero{text-align:center;padding-top:3.33333em;padding-bottom:1.66667em;position:relative}.hero-avatar{margin-bottom:3.33333em}.hero-avatar .avatar{border:4px solid var(--color-accent);border-radius:100%;width:130px;height:130px;display:inline-block;box-shadow:0 0 1px 11px #00a8d226,0 0 1px 22px #00a8d21a}.dark .hero-avatar .avatar{box-shadow:0 0 1px 11px #4ec9e826,0 0 1px 22px #4ec9e81a}.hero-title{margin:0 0 .75em;font-size:2.22222rem}.comments-area{margin:0 0 1.66667em;padding:0 30px;position:relative}.comments-title{color:var(--color-text-body);letter-spacing:2px;text-transform:uppercase;margin:0 0 2.14285em;font-size:14px;font-weight:400}.comments-title:after{background-color:var(--color-accent);content:"";width:60px;height:1px;margin-top:15px;display:block}.giscus,.giscus-frame{border:none;width:100%}.pagination{border-top:1px solid var(--color-border);text-align:center;margin-top:1.66667em;margin-bottom:3.33333em;padding-top:3.33333em}.pagination .nav-links{padding:0 60px;position:relative}.page-number{color:var(--color-text-muted);letter-spacing:2px;text-transform:uppercase;font-size:12px;line-height:1.5;display:inline-block}.newer-posts,.older-posts{width:30px;height:30px;position:absolute;top:0}.newer-posts{left:0}.older-posts{right:0}.sidebar{color:#fff;-webkit-overflow-scrolling:touch;visibility:hidden;background:#2f313d;width:600px;transition:visibility 0s .25s;position:absolute;top:0;bottom:0;right:0}.sidebar-scrollable{-webkit-overflow-scrolling:touch;height:100%;position:relative;overflow:auto}.sidebar-inside{padding:75px 60px 2.5em;position:relative}#sidebar-hide{position:absolute;top:1.11111em;right:3vw}.site-overlay{cursor:ew-resize;opacity:0;visibility:hidden;background-color:#ffffffbf;transition:right .25s ease-in-out,opacity .25s ease-in-out,visibility 0s ease-in-out .25s;position:absolute;inset:0}.dark .site-overlay{background-color:#0009}.sidebar--opened .site{pointer-events:none;z-index:9998;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden;transform:translate(-600px)}.sidebar--opened .sidebar{visibility:visible;transition:none}.sidebar--opened .site-overlay{opacity:1;visibility:visible;z-index:9999;transition:opacity .25s ease-in-out,right .25s ease-in-out;right:600px}.sidebar .site-navigation{display:none}.widget{margin-bottom:3.75em;font-size:.88889rem}.widget-title{color:#fff;letter-spacing:2px;text-transform:uppercase;margin:0 0 2.14285em;font-size:14px;font-weight:400}.widget-title:after{background:var(--color-accent);content:"";width:60px;height:1px;margin:15px 0 0;display:block}.widget label{color:#fff;font-size:.875em}.widget input,.widget select,.widget textarea{border:0}.widget button,.widget input[type=submit],.widget input[type=button],.widget input[type=reset],.widget a.button{padding:8px 20px}.widget a:hover{color:#d8d8d8}.widget.site-navigation .menu{padding:0;list-style:none}.widget.site-navigation .menu-item{margin:0 0 .5em;font-size:1rem}.widget.site-navigation a{color:#fff}.widget.site-navigation a:hover{color:var(--color-accent)}.widget-recent-posts ul{padding:0;list-style:none}.widget-recent-posts li{margin-bottom:.9375em;display:flex}.widget-recent-posts .post-header{flex:auto;margin-bottom:.9375em}.widget-recent-posts .post-meta{letter-spacing:1px;margin-bottom:.5em;font-size:12px}.widget-recent-posts .post-title{color:#fff;margin:0;font-size:1rem}.widget-recent-posts .post-thumbnail{flex:none;width:90px;margin:0 0 .9375em 30px}.widget-tagcloud a{color:#fff;border:1px solid #535358;border-radius:20px;margin:0 10px .75em 0;padding:.4em 20px;font-size:14px;line-height:1.5;transition:all .3s;display:inline-block}.widget-tagcloud a:hover{border-color:var(--color-accent);color:var(--color-accent)}.site-footer{padding-top:1.66667em;padding-bottom:1.66667em}.site-footer-inside{position:relative}.site-footer .social-links{text-align:center}.site-footer .social-links a{margin:0 3px .3125em}.site-info{letter-spacing:1px;text-align:center;text-transform:uppercase;margin:0;font-size:11px;line-height:1.5}.back-to-top{text-align:center;margin:1.66667em 0 0}.kg-gallery-container{flex-direction:column;width:100vw;max-width:1040px;margin:1.5em auto;display:flex}.kg-gallery-row{flex-direction:row;justify-content:center;display:flex}.kg-gallery-image img{width:100%;height:100%;margin:0;display:block}.kg-gallery-row:not(:first-of-type){margin:.75em 0 0}.kg-gallery-image:not(:first-of-type){margin:0 0 0 .75em}.kg-bookmark-card,.kg-bookmark-card *{box-sizing:border-box}.kg-bookmark-card{background:var(--color-bg);width:100%;max-width:738px;position:relative}.kg-bookmark-card a.kg-bookmark-container,.kg-bookmark-card a.kg-bookmark-container:hover{background:var(--color-bg);color:#222;border:1px solid #7c8b9a40;border-radius:6px;text-decoration:none;display:flex;overflow:hidden}.kg-card+.kg-bookmark-card{margin-top:0}.post-content .kg-bookmark-container{color:var(--color-text-body);border-radius:3px;min-height:148px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;text-decoration:none;display:flex;box-shadow:0 2px 5px -1px #00000026,0 0 1px #00000017}.kg-bookmark-content{text-align:left;flex-direction:column;flex-grow:1;flex-basis:100%;justify-content:flex-start;align-items:flex-start;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px;display:flex;overflow:hidden}.kg-bookmark-title{color:var(--color-accent);font-size:15px;font-weight:600;line-height:1.4em}.post-content .kg-bookmark-container:hover .kg-bookmark-title{color:var(--color-accent)}.kg-bookmark-description{color:var(--color-text-body);opacity:.7;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:44px;margin-top:3px;font-size:14px;font-weight:400;line-height:1.5em;display:-webkit-box;overflow-y:hidden}.kg-bookmark-thumbnail{flex-grow:1;min-width:33%;max-height:100%;position:relative}.kg-bookmark-thumbnail img{object-fit:cover;border-radius:0 3px 3px 0;width:100%;height:100%;position:absolute;top:0;left:0}.kg-bookmark-metadata{width:100%;color:var(--color-text-body);white-space:nowrap;flex-wrap:wrap;align-items:center;margin-top:22px;font-size:14px;font-weight:500;display:flex}.kg-bookmark-icon{width:20px;height:20px;margin-right:6px}.post-content .kg-bookmark-icon{width:22px;height:22px;margin-right:8px}.kg-bookmark-author:after{content:"•";margin:0 6px}@media (width<=500px){.post-content .kg-bookmark-container{flex-direction:column}.kg-bookmark-thumbnail{order:1;width:100%;min-height:160px}.kg-bookmark-thumbnail img{border-radius:3px 3px 0 0}.kg-bookmark-content{order:2}}@media only screen and (width>=481px){.gh-subscribe-form{align-items:center;display:flex}.gh-subscribe-form .form-group{flex:auto}.gh-subscribe-form .button{margin:0 0 0 10px}.site-footer .social-links{justify-content:normal;padding-right:70px}.site-footer .social-links a{margin-left:0;margin-right:10px}.social-links+.site-info+.back-to-top{margin:0;position:absolute;top:0;right:0}.author-box{text-align:left;display:flex}.author-avatar{flex:none;margin:0 30px .55556em 0}.author-details{flex:auto}.sl-wrapper .sl-close{top:5px;right:5px}.sl-wrapper .sl-next{right:5px}.sl-wrapper .sl-prev{left:5px}}@media only screen and (width>=601px){.post-content img[src$=\#left]{float:left;max-width:50%;margin:.3em 30px .83333em 0}.post-content img[src$=\#right]{float:right;max-width:50%;margin:.3em 0 .83333em 30px}.post-footer{display:flex}.post-footer .post-tags{flex:auto}.post-footer .post-share{text-align:right;flex:1 0 auto;margin-left:30px}.sl-wrapper button{background:var(--color-bg-secondary)}.sl-wrapper button:hover{background:var(--color-accent);color:#fff;box-shadow:0 0 1px 7px #00a8d226}.sl-wrapper .sl-close{top:3vw;right:3vw}.sl-wrapper .sl-next{right:3vw}.sl-wrapper .sl-prev{left:3vw}.sl-wrapper .sl-counter{bottom:3vw;right:3vw}}@media only screen and (width>=785px){blockquote,.kg-gallery-card,.post-content img[src$=\#left]{margin-left:calc(360px - 47vw)}blockquote,.kg-gallery-card,.post-content img[src$=\#right]{margin-right:calc(360px - 47vw)}.post-full .post-thumbnail,.post-featured .post-thumbnail,.post-content img[src$=\#wide],.kg-width-wide .kg-image{width:94vw;max-width:none;margin-left:calc(360px - 47vw);margin-right:calc(360px - 47vw)}}@media only screen and (width>=1141px){blockquote,.kg-gallery-card,.post-content img[src$=\#left]{margin-left:-180px}blockquote,.kg-gallery-card,.post-content img[src$=\#right]{margin-right:-180px}.post-full .post-thumbnail,.post-featured .post-thumbnail,.post-content img[src$=\#wide],.kg-width-wide .kg-image{width:1080px;max-width:none;margin-left:-180px;margin-right:-180px}.outer{padding-left:30px;padding-right:30px}#sidebar-hide{right:30px}.post-feed .post{max-width:none;margin-left:0;margin-right:0}.post-feed .post-thumbnail{float:left;width:150px;margin-top:1.66667em}.post-feed .post-header,.post-feed .post-content{float:right;width:720px;margin-right:180px}.post-feed .post-header{margin-bottom:0}.sl-wrapper button{width:40px;height:40px}.sl-wrapper .sl-close{top:30px;right:30px}.sl-wrapper .sl-next{right:30px}.sl-wrapper .sl-prev{left:30px}.sl-wrapper .sl-counter{bottom:30px;right:30px}}@media only screen and (width<=800px){.site-branding{flex:0 auto}.site-header .menu{display:none}.sidebar .site-navigation{display:block}}@media only screen and (width<=600px){html{font-size:100%}h1,.post-title,.hero-title,.newsletter-box-title{font-size:1.875rem}h2{font-size:1.5rem}h3{font-size:1.3125rem}h4{font-size:1.125rem}h5,h6{font-size:1rem}blockquote{font-size:1.5rem}blockquote small,blockquote cite{letter-spacing:2px;font-size:.58333em}.sidebar{width:100%}.sidebar-inside,.newsletter-box,.author-box{padding-left:3vw;padding-right:3vw}.sidebar--opened .site{transform:translate(-100%)}.site-overlay{display:none}.read-next .post-thumbnail{width:90px}.post-meta{letter-spacing:1px}.newsletter-box{padding-top:1.875em;padding-bottom:2.5em}}@media only screen and (width<=360px){.featured-posts{margin-bottom:3.75em;padding-bottom:0}.read-next .post-title{font-size:1.11111rem}.read-next .post-thumbnail,.widget-recent-posts .post-thumbnail{width:75px;margin-left:10px}.newsletter-box-title{font-size:1.5rem}}.twitter-tweet{margin:10px auto}.form-label{margin-bottom:.55556em;font-size:1rem;display:block}.form-label span{color:var(--color-text-muted);font-size:.77778rem;font-style:italic;font-weight:400}.form-item{margin-bottom:30px}.form-textarea{min-height:230px}.contact-form{background:var(--color-bg-secondary);border:1px solid var(--color-border);box-sizing:border-box;border-radius:3px;margin-bottom:3.33333em;padding:35px 30px 45px}time.published{color:var(--color-text-body);font-weight:bolder}:root:not(.dark) .glosharp-popup-container,:root:not(.dark) .glosharp-static-container{--glosharp-popup-bg:#f3f3f3;--glosharp-popup-fg:#1e1e1e;--glosharp-popup-border:#c8c8c8;background:var(--glosharp-popup-bg);color:var(--glosharp-popup-fg);border-color:var(--glosharp-popup-border);box-shadow:0 2px 8px #00000026}:root:not(.dark) .glosharp-popup-docs,:root:not(.dark) .glosharp-popup-params,:root:not(.dark) .glosharp-popup-returns,:root:not(.dark) .glosharp-popup-remarks,:root:not(.dark) .glosharp-popup-example,:root:not(.dark) .glosharp-popup-exceptions{border-top-color:#c8c8c8}:root:not(.dark) .glosharp-keyword{color:#00f}:root:not(.dark) .glosharp-className,:root:not(.dark) .glosharp-structName,:root:not(.dark) .glosharp-delegateName,:root:not(.dark) .glosharp-interfaceName,:root:not(.dark) .glosharp-enumName,:root:not(.dark) .glosharp-typeParameterName{color:#267f99}:root:not(.dark) .glosharp-methodName{color:#795e26}:root:not(.dark) .glosharp-propertyName,:root:not(.dark) .glosharp-fieldName,:root:not(.dark) .glosharp-eventName,:root:not(.dark) .glosharp-localName,:root:not(.dark) .glosharp-parameterName{color:#001080}:root:not(.dark) .glosharp-namespaceName,:root:not(.dark) .glosharp-punctuation,:root:not(.dark) .glosharp-operator,:root:not(.dark) .glosharp-text{color:#1e1e1e}:root:not(.dark) .glosharp-error-underline{border-bottom-color:#e51400}:root:not(.dark) .glosharp-error-message{color:#e51400;background:#e514001a;border-left-color:#e51400}:root:not(.dark) .glosharp-completion-list{background:#f3f3f3;border-color:#c8c8c8}:root:not(.dark) .glosharp-completion-label{color:#1e1e1e}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
