.post-content{max-width:80ch;margin:auto}.post-content h1{margin-top:2.5rem;font-family:raleway,system-ui;font-size:2.25rem;line-height:2.5rem;font-weight:700}.post-content h2{margin-top:2.5rem;font-family:raleway,system-ui;font-size:1.5rem;line-height:2rem;font-weight:700}.post-content h3{margin-top:2.5rem;font-family:raleway,system-ui;font-size:1.25rem;line-height:1.75rem;font-weight:700}.post-content p{margin-top:2.5rem;font-family:Libre Baskerville,Georgia;font-size:1.25rem;line-height:1.75rem;line-height:1.75;opacity:.9}.post-content strong{font-family:raleway,system-ui;font-size:1.25rem;line-height:1.75rem;font-weight:700}.post-content blockquote{position:relative;margin-top:2.5rem;margin-bottom:2.5rem;padding-left:1rem;font-style:italic}.post-content blockquote:before{content:"";width:3px;height:100%;display:block;position:absolute;left:0;background-color:currentColor}.post-content img{margin-top:2rem;margin-bottom:2rem;height:auto;width:100%}.post-content ol{list-style:decimal;margin-top:2rem;margin-bottom:2rem;padding-left:1.5rem;font-style:italic}.post-content ul{list-style:disc;margin-top:2rem;margin-bottom:2rem;padding-left:2rem}.post-content ol ol{list-style:lower-latin;margin-top:1rem;margin-bottom:1rem}.post-content li{margin-top:1rem;margin-bottom:1rem;font-family:Libre Baskerville,Georgia;font-size:1.25rem;line-height:1.75rem}.post-content a:not(.more-link,.toc-link){text-decoration-line:underline;opacity:.8}.post-content a:not(.toc-link):hover{color:var(--accent);opacity:1}.post-content iframe{margin-top:2.5rem;margin-bottom:2.5rem;aspect-ratio:16 / 9;height:auto;width:100%}.toc{position:fixed;right:0;display:none;padding-left:2rem;padding-right:2rem}@media (min-width: 1024px){.toc{display:block}}.toc{top:50%;max-width:280px;transform:translateY(calc(-50% + 40px));z-index:2}.toc:before{content:"Table of Contents";top:-8px;font-weight:800;transform:translate(-24px);visibility:hidden;position:absolute;font-size:.875rem;line-height:1.25rem;text-transform:uppercase}.toc:hover{background-color:var(--base)}.toc:hover:before{visibility:visible;transform:translate(0)}.toc:hover ol{visibility:visible}.toc ol{visibility:hidden;position:relative;padding-left:0}.toc ol ol{margin-top:.5rem;margin-bottom:0}.toc li{margin-top:0;margin-bottom:0;display:block;padding-left:0;font-family:raleway,system-ui;font-size:.875rem;line-height:1.25rem;font-weight:700;font-style:normal}.toc li+li{margin-top:.5rem}.toc li li{font-size:13px}.toc a{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--contrast);text-decoration-line:none}.toc a.active{color:var(--accent);opacity:1}.toc a:hover{opacity:1}.toc-item{position:relative;margin-top:0;margin-bottom:0}.toc:before,.toc-link{transform:translate(32px);transition:transform .3s cubic-bezier(.25,1,.5,1),color .3s cubic-bezier(.25,1,.5,1)}.toc-link{font-weight:600}.toc-link-h3{padding-left:.5rem}.toc:hover .toc-link{transform:translate(0)}.toc-link:after{content:"";display:block;width:28px;height:2px;background-color:currentColor;position:absolute;right:0;top:10px;z-index:2;border-radius:8px;visibility:visible;transform:translate(0);transition:transform .4s cubic-bezier(.25,1,.5,1) backwards;transform-origin:right}.toc-link:not(.active){opacity:.8}.toc-link:not(.active):after{opacity:.25}.toc-link-h3:after{width:16px}.toc:hover .toc-link:after{visibility:hidden;transform:translate(-24px)}.post-content .twitter-tweet{margin-left:auto!important;margin-right:auto!important;margin-top:2.5rem!important;margin-bottom:2.5rem!important}.astro-code{padding:2rem;border-radius:12px;background-color:var(--alt)!important}code[class*=language-],pre[class*=language-]{color:#393a34;font-family:Consolas,Bitstream Vera Sans Mono,Courier New,Courier,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;font-size:.9em;line-height:1.2em;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none;border-radius:.25rem}pre>code[class*=language-]{font-size:1em}pre[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,code[class*=language-] ::-moz-selection{background:#c1def1}pre[class*=language-]::selection,pre[class*=language-] ::selection,code[class*=language-]::selection,code[class*=language-] ::selection{background:#c1def1}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border:1px solid rgba(0,0,0,.05);background-color:#fff}:not(pre)>code[class*=language-]{padding:1px .2em;background:#f8f8f8;border:1px solid #dddddd}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:green;font-style:italic}.token.namespace{opacity:.7}.token.string{color:#a31515}.token.punctuation,.token.operator{color:#393a34}.token.url,.token.symbol,.token.number,.token.boolean,.token.variable,.token.constant,.token.inserted{color:#36acaa}.token.atrule,.token.keyword,.token.attr-value,.language-autohotkey .token.selector,.language-json .token.boolean,.language-json .token.number,code[class*=language-css]{color:#00f}.token.function{color:#393a34}.token.deleted,.language-autohotkey .token.tag{color:#9a050f}.token.selector,.language-autohotkey .token.keyword{color:#00009f}.token.important{color:#e90}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.class-name,.language-json .token.property{color:#2b91af}.token.tag,.token.selector{color:maroon}.token.attr-name,.token.property,.token.regex,.token.entity{color:red}.token.directive.tag .tag{background:#ffff00;color:#393a34}.line-numbers.line-numbers .line-numbers-rows{border-right-color:#a5a5a5}.line-numbers .line-numbers-rows>span:before{color:#2b91af}.line-highlight.line-highlight{background:rgba(193,222,241,.2);background:linear-gradient(to right,rgba(193,222,241,.2) 70%,rgba(221,222,241,0))}@media (prefers-color-scheme: dark){pre[class*=language-],code[class*=language-]{color:#d4d4d4;font-size:13px;text-shadow:none;font-family:Menlo,Monaco,Consolas,Andale Mono,Ubuntu Mono,Courier New,monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none;border-radius:.25rem}pre[class*=language-]::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] *::-moz-selection,code[class*=language-] *::-moz-selection{text-shadow:none;background:#264f78}pre[class*=language-]::selection,code[class*=language-]::selection,pre[class*=language-] *::selection,code[class*=language-] *::selection{text-shadow:none;background:#264f78}@media print{pre[class*=language-],code[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;background:rgba(0,0,0,.2);border-radius:8px}:not(pre)>code[class*=language-]{padding:.1em .3em;border-radius:8px;color:#db4c69;background:rgba(0,0,0,.2)}.namespace{opacity:.7}.token.doctype .token.doctype-tag{color:#569cd6}.token.doctype .token.name{color:#9cdcfe}.token.comment,.token.prolog{color:#6a9955}.token.punctuation,.language-html .language-css .token.punctuation,.language-html .language-javascript .token.punctuation{color:#d4d4d4}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.inserted,.token.unit{color:#b5cea8}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.deleted{color:#ce9178}.language-css .token.string.url{text-decoration:underline}.token.operator,.token.entity{color:#d4d4d4}.token.operator.arrow{color:#569cd6}.token.atrule{color:#ce9178}.token.atrule .token.rule{color:#c586c0}.token.atrule .token.url{color:#9cdcfe}.token.atrule .token.url .token.function{color:#dcdcaa}.token.atrule .token.url .token.punctuation{color:#d4d4d4}.token.keyword{color:#569cd6}.token.keyword.module,.token.keyword.control-flow{color:#c586c0}.token.function,.token.function .token.maybe-class-name{color:#dcdcaa}.token.regex{color:#d16969}.token.important{color:#569cd6}.token.italic{font-style:italic}.token.constant{color:#9cdcfe}.token.class-name,.token.maybe-class-name{color:#4ec9b0}.token.console,.token.parameter,.token.interpolation{color:#9cdcfe}.token.punctuation.interpolation-punctuation,.token.boolean{color:#569cd6}.token.property,.token.variable,.token.imports .token.maybe-class-name,.token.exports .token.maybe-class-name{color:#9cdcfe}.token.selector,.token.escape{color:#d7ba7d}.token.tag{color:#569cd6}.token.tag .token.punctuation,.token.cdata{color:gray}.token.attr-name{color:#9cdcfe}.token.attr-value,.token.attr-value .token.punctuation{color:#ce9178}.token.attr-value .token.punctuation.attr-equals{color:#d4d4d4}.token.entity{color:#569cd6}.token.namespace{color:#4ec9b0}pre[class*=language-javascript],code[class*=language-javascript],pre[class*=language-jsx],code[class*=language-jsx],pre[class*=language-typescript],code[class*=language-typescript],pre[class*=language-tsx],code[class*=language-tsx]{color:#9cdcfe}pre[class*=language-css],code[class*=language-css]{color:#ce9178}pre[class*=language-html],code[class*=language-html]{color:#d4d4d4}.language-regex .token.anchor{color:#dcdcaa}.language-html .token.punctuation{color:gray}pre[class*=language-]>code[class*=language-]{position:relative;z-index:1}.line-highlight.line-highlight{background:#f7ebc6;box-shadow:inset 5px 0 #f7d87c;z-index:0}}
