:root{--code-text:#383a42;--code-keyword:#aa25a8;--code-type:#c18401;--code-string:#50a14f;--code-number:#a77a19;--code-function:#4078f2;--code-class:#4078f2;--code-variable:#383a42;--code-attr:#986801;--code-comment:#a0a1a7;--code-operator:#515254;--code-tag:#383a42;--code-tag-name:#e45649;--code-tag-attr:#986801}html.christmas :root{--code-text:#2a2f2a;--code-keyword:#c41e3a;--code-string:#1a472a;--code-function:#d4af37;--code-comment:#9ca3af;--code-tag-name:#c41e3a;--code-type:#b58603}:root[data-theme=dark],:root[class~=dark],[data-theme=dark],.dark{--code-text:#e6e6e6;--code-keyword:#c678dd;--code-type:#e5c07b;--code-string:#98c379;--code-number:#e5c07b;--code-function:#61afef;--code-class:#e5c07b;--code-variable:#abb2bf;--code-attr:#d19a66;--code-comment:#7f848e;--code-operator:#7a7c7f;--code-tag:#abb2bf;--code-tag-name:#e06c75;--code-tag-attr:#d19a66}html.christmas.dark :root{--code-text:#e8ebe8;--code-keyword:#ff6b6b;--code-string:#7ee081;--code-function:#f1d302;--code-comment:#52665b;--code-type:#d4af37}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--code-text:#e6e6e6;--code-keyword:#c678dd;--code-type:#e5c07b;--code-string:#98c379;--code-number:#e5c07b;--code-function:#61afef;--code-class:#e5c07b;--code-variable:#abb2bf;--code-attr:#d19a66;--code-comment:#7f848e;--code-operator:#7a7c7f;--code-tag:#abb2bf;--code-tag-name:#e06c75;--code-tag-attr:#d19a66}}.markdown-body pre>code{color:var(--code-text);-webkit-font-smoothing:auto;font-feature-settings:"liga" 1,"calt" 1;text-rendering:optimizeLegibility;white-space:pre-wrap;word-wrap:break-word;font-family:JetBrains Mono,Fira Code,SF Mono,ui-monospace,Cascadia Code,Menlo,Monaco,Consolas,monospace;font-size:.895rem;font-weight:350;line-height:1.75}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:var(--code-comment);font-style:italic;font-weight:350}.token.keyword{color:var(--code-keyword);font-weight:350}.token.builtin,.token.class-name{color:var(--code-type);font-weight:350}.token.string{color:var(--code-string)}.token.number{color:var(--code-number)}.token.function{color:var(--code-function);font-weight:350}.token.property,.token.variable{color:var(--code-variable)}.token.attr-name{color:var(--code-attr)}.token.operator,.token.punctuation{color:var(--code-operator)}.token.tag{color:var(--code-tag)}.token.tag .token.tag{color:var(--code-tag-name)}.token.tag .token.attr-name{color:var(--code-tag-attr)}.token.boolean,.token.constant{color:var(--code-keyword)}.token.selector,.token.important,.token.atrule,.token.regex{color:var(--code-function)}.token.deleted{color:var(--code-tag-name)}.token.inserted{color:var(--code-string)}html.christmas .markdown-body pre{background-color:#1a472a05;border-color:#1a472a1a}html.christmas.dark .markdown-body pre{background-color:#0a140f80;border-color:#d4af371a}
.markdown-body{color:#000c;font-size:17px;line-height:1.7}.markdown-body:is(.dark *){color:#fffc}.markdown-body{letter-spacing:0}html.christmas .markdown-body{color:var(--foreground)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{letter-spacing:-.025em;--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1));font-weight:500}.markdown-body h1:is(.dark *),.markdown-body h2:is(.dark *),.markdown-body h3:is(.dark *),.markdown-body h4:is(.dark *),.markdown-body h5:is(.dark *),.markdown-body h6:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:3rem;margin-bottom:1.5rem;line-height:1.25}html.christmas .markdown-body h1,html.christmas .markdown-body h2{color:var(--primary)}html.christmas.dark .markdown-body h1,html.christmas.dark .markdown-body h2{color:#d4af37}.markdown-body h1{font-size:1.5rem;line-height:2rem}@media (min-width:768px){.markdown-body h1{font-size:1.875rem;line-height:2.25rem}}.markdown-body h2{font-size:1.25rem;line-height:1.75rem}@media (min-width:768px){.markdown-body h2{font-size:1.5rem;line-height:2rem}}.markdown-body h3{font-size:1.125rem;line-height:1.75rem}@media (min-width:768px){.markdown-body h3{font-size:1.25rem;line-height:1.75rem}}.markdown-body h4{font-size:1rem;line-height:1.5rem}@media (min-width:768px){.markdown-body h4{font-size:1.125rem;line-height:1.75rem}}.markdown-body h5{font-size:1rem;line-height:1.5rem}.markdown-body h6{font-size:.875rem;line-height:1.25rem}.markdown-body p{margin-bottom:1.5rem;line-height:1.8}.markdown-body strong{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1));font-weight:600}.markdown-body strong:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}html.christmas .markdown-body strong{color:#1a472a}html.christmas.dark .markdown-body strong{color:#d4af37}.markdown-body em{font-style:italic}.markdown-body ul,.markdown-body ol{margin-bottom:1.5rem}.markdown-body ul>:not([hidden])~:not([hidden]),.markdown-body ol>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.markdown-body ul,.markdown-body ol{padding-left:1.5rem}.markdown-body ul{list-style-type:disc}.markdown-body ol{list-style-type:decimal}.markdown-body li{padding-left:.5rem}.markdown-body li>ul,.markdown-body li>ol{margin-top:.5rem;margin-bottom:0}.markdown-body :not(pre)>code{font-family:var(--font-geist-mono),ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background-color:#0000000a;font-size:13px}.markdown-body :not(pre)>code:is(.dark *){background-color:#ffffff0f}.markdown-body :not(pre)>code{color:#000000e6;border-radius:.25rem;padding:.125rem .375rem}.markdown-body :not(pre)>code:is(.dark *){color:#ffffffe6}.markdown-body :not(pre)>code{word-wrap:break-word;overflow-wrap:break-word;white-space:pre-wrap}html.christmas .markdown-body :not(pre)>code{color:#8b0000;background-color:#c41e3a14}html.christmas.dark .markdown-body :not(pre)>code{color:#e5c07b;background-color:#d4af371a}.markdown-body pre{background-color:#00000008;margin-top:2rem;margin-bottom:2rem;padding:1.25rem}.markdown-body pre:is(.dark *){background-color:#ffffff08}.markdown-body pre{border-width:1px;border-color:#0000000f}.markdown-body pre:is(.dark *){border-color:#ffffff0f}.markdown-body pre{border-radius:var(--radius);font-size:14px;overflow-x:auto}.markdown-body pre>code{background-color:#0000;padding:0}.markdown-body blockquote{border-color:#0003;border-left-width:2px;margin-top:2rem;margin-bottom:2rem;padding-top:0;padding-bottom:0;padding-left:1rem}.markdown-body blockquote:is(.dark *){border-color:#fff3}.markdown-body blockquote{color:#0009}.markdown-body blockquote:is(.dark *){color:#fff9}html.christmas .markdown-body blockquote{background-color:#1a472a08;border-color:#1a472a;border-radius:0 8px 8px 0;padding:1rem}html.christmas.dark .markdown-body blockquote{background-color:#d4af370d;border-color:#d4af37}.markdown-body blockquote p{margin-bottom:0}.markdown-body a{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1));text-underline-offset:4px;text-decoration-line:underline}.markdown-body a:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.markdown-body a{text-decoration-color:#0000004d}.markdown-body a:is(.dark *){text-decoration-color:#ffffff4d}.markdown-body a:hover{text-decoration-color:#000}.markdown-body a:hover:is(.dark *){text-decoration-color:#fff}.markdown-body a{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}html.christmas .markdown-body a{color:#8b0000;text-decoration-color:#c41e3a66}html.christmas .markdown-body a:hover{background-color:#c41e3a0d;text-decoration-color:#c41e3a}html.christmas.dark .markdown-body a{color:#e5c07b;text-decoration-color:#d4af3766}html.christmas.dark .markdown-body a:hover{text-decoration-color:#d4af37}.markdown-body table{border-collapse:collapse;width:100%;margin-top:2rem;margin-bottom:2rem;font-size:15px}.markdown-body thead{border-color:#0000001a;border-bottom-width:2px}.markdown-body thead:is(.dark *){border-color:#ffffff1a}html.christmas .markdown-body thead{border-color:#1a472a33}.markdown-body th{text-align:left;color:#000c;padding:.75rem 1rem;font-weight:500}.markdown-body th:is(.dark *){color:#fffc}.markdown-body th{background-color:#0000}html.christmas .markdown-body th{color:#1a472a}html.christmas.dark .markdown-body th{color:#d4af37}.markdown-body td{text-align:left;color:#000000b3;padding:.75rem 1rem}.markdown-body td:is(.dark *){color:#ffffffb3}.markdown-body td{border-color:#0000000f;border-bottom-width:1px}.markdown-body td:is(.dark *){border-color:#ffffff0f}html.christmas .markdown-body td{border-color:#1a472a1a}.markdown-body tbody tr:last-child td{border-bottom-width:0}.markdown-body tbody tr{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.markdown-body tbody tr:hover{background-color:#00000005}.markdown-body tbody tr:hover:is(.dark *){background-color:#ffffff05}.markdown-body hr{background-color:#00000014;border-width:0;height:1px;margin-top:3rem;margin-bottom:3rem}.markdown-body hr:is(.dark *){background-color:#ffffff14}html.christmas .markdown-body hr{opacity:.3;background:repeating-linear-gradient(90deg,#c41e3a 0 4px,#0000 4px 8px);height:2px}.markdown-body img{border-radius:var(--radius);border-width:1px;border-color:#0000000f;max-width:100%;height:auto;margin-top:2rem;margin-bottom:2rem}.markdown-body img:is(.dark *){border-color:#ffffff0f}.markdown-body img{cursor:pointer;transition-property:opacity;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.2s}.markdown-body img:hover{opacity:.8}html.christmas .markdown-body img{border-color:#d4af374d;box-shadow:0 4px 12px #d4af371a}.markdown-body .project-card-link{margin-top:2rem;margin-bottom:2rem;text-decoration-line:none;transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.2s;display:block}.markdown-body .project-card{border-width:1px;border-color:#0000000f;border-radius:.75rem}.markdown-body .project-card:is(.dark *){border-color:#ffffff0f}.markdown-body .project-card{background-color:#00000005}.markdown-body .project-card:is(.dark *){background-color:#ffffff05}.markdown-body .project-card:hover{background-color:#0000000a}.markdown-body .project-card:hover:is(.dark *){background-color:#ffffff0a}.markdown-body .project-card:hover{border-color:#0000001a}.markdown-body .project-card:hover:is(.dark *){border-color:#ffffff1a}.markdown-body .project-card{transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.2s}html.christmas .markdown-body .project-card{background-color:#fff;border-color:#1a472a1a}html.christmas.dark .markdown-body .project-card{background-color:#0a140f80;border-color:#d4af3733}html.christmas .markdown-body .project-card:hover{border-color:#1a472a;box-shadow:0 4px 20px #1a472a14}.markdown-body .project-card-content{padding:1.25rem}@media (min-width:640px){.markdown-body .project-card-content{padding:1.5rem 2rem}}.markdown-body .project-card-content{flex-direction:column;display:flex}@media (min-width:640px){.markdown-body .project-card-content{flex-direction:row}}.markdown-body .project-card-content{align-items:flex-start}@media (min-width:640px){.markdown-body .project-card-content{align-items:center}}.markdown-body .project-card-content{gap:1rem}@media (min-width:640px){.markdown-body .project-card-content{gap:1.5rem}}.markdown-body .project-card-text{flex-direction:column;flex:1;gap:.5rem;display:flex}.markdown-body .project-card-title{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1));font-size:1rem;font-weight:500;line-height:1.5rem}.markdown-body .project-card-title:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}@media (min-width:640px){.markdown-body .project-card-title{font-size:1.125rem;line-height:1.75rem}}.markdown-body .project-card-title{margin:0;line-height:1.25}.markdown-body .project-card-description{color:#0009;font-size:.875rem;line-height:1.25rem}.markdown-body .project-card-description:is(.dark *){color:#fff9}@media (min-width:640px){.markdown-body .project-card-description{font-size:1rem;line-height:1.5rem}}.markdown-body .project-card-description{margin:0;line-height:1.625}.markdown-body .project-card-action{flex-shrink:0}.markdown-body .project-card-button{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1));border-radius:9999px;align-items:center;gap:.5rem;padding:.5rem 1rem;display:inline-flex}.markdown-body .project-card-button:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.markdown-body .project-card-button{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.markdown-body .project-card-button:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.markdown-body .project-card-button{font-size:.875rem;font-weight:500;line-height:1.25rem;transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.2s}html.christmas .markdown-body .project-card-button{color:#fff;background-color:#c41e3a}html.christmas.dark .markdown-body .project-card-button{color:#0f1f18;background-color:#d4af37}.markdown-body .project-card-link:hover .project-card-button{background-color:#000c}.markdown-body .project-card-link:hover .project-card-button:is(.dark *){background-color:#fffc}.markdown-body a[href^=http]:not([href*=localhost]):not([href*="127.0.0.1"]){cursor:pointer;transition-property:all;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation-duration:.2s;position:relative}.markdown-body a[href^=http]:not([href*=localhost]):not([href*="127.0.0.1"]):hover{background-color:#00000008}.markdown-body a[href^=http]:not([href*=localhost]):not([href*="127.0.0.1"]):hover:is(.dark *){background-color:#ffffff08}.markdown-body a[href^=http]:not([href*=localhost]):not([href*="127.0.0.1"]):hover{border-radius:.25rem;margin-left:-.25rem;margin-right:-.25rem;padding-left:.25rem;padding-right:.25rem}html.christmas .markdown-body a[href^=http]:not([href*=localhost]):not([href*="127.0.0.1"]):hover{background-color:#c41e3a14}html.christmas.dark .markdown-body a[href^=http]:not([href*=localhost]):not([href*="127.0.0.1"]):hover{background-color:#d4af3714}
