@font-face{font-family:Domine;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/domine-latin-ext-400-normal.DSIL3zwv.woff2) format("woff2"),url(/_astro/domine-latin-ext-400-normal.CZRE0FDw.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Domine;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/domine-latin-400-normal.DmTRKKZw.woff2) format("woff2"),url(/_astro/domine-latin-400-normal.Bgu7VFla.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Domine;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/domine-latin-ext-600-normal.B5vbjTI7.woff2) format("woff2"),url(/_astro/domine-latin-ext-600-normal.Gb2GsKeb.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Domine;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/domine-latin-600-normal.C4sNQOYD.woff2) format("woff2"),url(/_astro/domine-latin-600-normal.BT3Ai03c.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Domine;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/domine-latin-ext-700-normal.jTaZV6Km.woff2) format("woff2"),url(/_astro/domine-latin-ext-700-normal.Dxw7BE_R.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Domine;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/domine-latin-700-normal.BcvTjKil.woff2) format("woff2"),url(/_astro/domine-latin-700-normal.n4AJ3PkE.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:"Domine",serif;--font-mono:"Fira Code",monospace;--spacing:.25rem;--container-2xl:42rem;--container-3xl:48rem;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-bold:700;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.static{position:static}.sticky{position:sticky}.top-0{top:calc(var(--spacing)*0)}.top-full{top:100%}.left-0{left:calc(var(--spacing)*0)}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:oklch(37.3% .034 259.733);--tw-prose-headings:oklch(21% .034 264.665);--tw-prose-lead:oklch(44.6% .03 256.802);--tw-prose-links:oklch(21% .034 264.665);--tw-prose-bold:oklch(21% .034 264.665);--tw-prose-counters:oklch(55.1% .027 264.364);--tw-prose-bullets:oklch(87.2% .01 258.338);--tw-prose-hr:oklch(92.8% .006 264.531);--tw-prose-quotes:oklch(21% .034 264.665);--tw-prose-quote-borders:oklch(92.8% .006 264.531);--tw-prose-captions:oklch(55.1% .027 264.364);--tw-prose-kbd:oklch(21% .034 264.665);--tw-prose-kbd-shadows:oklab(21% -.00316127 -.0338527/.1);--tw-prose-code:oklch(21% .034 264.665);--tw-prose-pre-code:oklch(92.8% .006 264.531);--tw-prose-pre-bg:oklch(27.8% .033 256.848);--tw-prose-th-borders:oklch(87.2% .01 258.338);--tw-prose-td-borders:oklch(92.8% .006 264.531);--tw-prose-invert-body:oklch(87.2% .01 258.338);--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:oklch(70.7% .022 261.325);--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:oklch(70.7% .022 261.325);--tw-prose-invert-bullets:oklch(44.6% .03 256.802);--tw-prose-invert-hr:oklch(37.3% .034 259.733);--tw-prose-invert-quotes:oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders:oklch(37.3% .034 259.733);--tw-prose-invert-captions:oklch(70.7% .022 261.325);--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:#ffffff1a;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:oklch(44.6% .03 256.802);--tw-prose-invert-td-borders:oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-lg{font-size:1.125rem;line-height:1.77778}.prose-lg :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em}.prose-lg :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.09091em;margin-bottom:1.09091em;font-size:1.22222em;line-height:1.45455}.prose-lg :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em}.prose-lg :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.833333em;font-size:2.66667em;line-height:1}.prose-lg :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.86667em;margin-bottom:1.06667em;font-size:1.66667em;line-height:1.33333}.prose-lg :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.66667em;margin-bottom:.666667em;font-size:1.33333em;line-height:1.5}.prose-lg :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.77778em;margin-bottom:.444444em;line-height:1.55556}.prose-lg :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.77778em;margin-bottom:1.77778em}.prose-lg :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-lg :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.77778em;margin-bottom:1.77778em}.prose-lg :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.222222em;padding-inline-end:.444444em;padding-bottom:.222222em;border-radius:.3125rem;padding-inline-start:.444444em;font-size:.888889em}.prose-lg :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-lg :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.866667em}.prose-lg :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.875em}.prose-lg :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:1em;padding-inline-end:1.5em;padding-bottom:1em;border-radius:.375rem;margin-top:2em;margin-bottom:2em;padding-inline-start:1.5em;font-size:.888889em;line-height:1.75}.prose-lg :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.55556em}.prose-lg :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;margin-bottom:.666667em}.prose-lg :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.444444em}.prose-lg :where(.prose-lg>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em}.prose-lg :where(.prose-lg>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em}.prose-lg :where(.prose-lg>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.33333em}.prose-lg :where(.prose-lg>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em}.prose-lg :where(.prose-lg>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.33333em}.prose-lg :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em}.prose-lg :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em}.prose-lg :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em}.prose-lg :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;padding-inline-start:1.55556em}.prose-lg :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:3.11111em;margin-bottom:3.11111em}.prose-lg :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-lg :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em;line-height:1.5}.prose-lg :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.prose-lg :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.75em;padding-inline-end:.75em;padding-bottom:.75em;padding-inline-start:.75em}.prose-lg :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-lg :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-lg :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.77778em;margin-bottom:1.77778em}.prose-lg :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-lg :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1em;font-size:.888889em;line-height:1.5}.prose-lg :where(.prose-lg>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-lg :where(.prose-lg>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.mt-8{margin-top:calc(var(--spacing)*8)}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-auto{margin-bottom:auto}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-6{height:calc(var(--spacing)*6)}.min-h-screen{min-height:100vh}.w-6{width:calc(var(--spacing)*6)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-none{max-width:none}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-y-2{row-gap:calc(var(--spacing)*2)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border-soft{border-color:var(--theme-border-soft)}.bg-page{background-color:var(--theme-page)}.bg-surface{background-color:var(--theme-surface)}.p-2{padding:calc(var(--spacing)*2)}.p-6{padding:calc(var(--spacing)*6)}.py-3{padding-block:calc(var(--spacing)*3)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.pt-4{padding-top:calc(var(--spacing)*4)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-12{padding-bottom:calc(var(--spacing)*12)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.text-body{color:var(--theme-body)}.text-heading{color:var(--theme-heading)}.text-muted{color:var(--theme-muted)}.text-primary{color:var(--theme-primary)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-primary:focus{--tw-ring-color:var(--theme-primary)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@media(min-width:48rem){.md\:static{position:static}.md\:z-auto{z-index:auto}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:gap-4{gap:calc(var(--spacing)*4)}.md\:p-8{padding:calc(var(--spacing)*8)}.md\:py-24{padding-block:calc(var(--spacing)*24)}}@media(min-width:64rem){.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}}}:root{color-scheme:light;--theme-primary:#0f5d9c;--theme-accent:#2d9fd2;--theme-heading:#151d2a;--theme-body:#1b1b1b;--theme-page:#f0f0f0;--theme-surface:#fff;--theme-muted:#6c757d;--theme-border-soft:#e6e6e6;--theme-border-strong:#dadada;--theme-code-ink:#0f5d9c;--theme-code-bg:#eef6fd;--theme-code-border:#d4e5f5;--shadow-card:0 1px 2px #0f172a0a,0 8px 24px -12px #0f172a2e;--shadow-card-hover:0 4px 8px #0f172a0f,0 20px 32px -12px #0f172a42;--shadow-header:0 1px 8px #afaab433;--badge-ink:#151d2a}.dark{color-scheme:dark;--theme-primary:#2f81f7;--theme-accent:#58a6ff;--theme-heading:#f0f6fc;--theme-body:#c9d1d9;--theme-page:#0d1117;--theme-surface:#161b22;--theme-muted:#8b949e;--theme-border-soft:#21262d;--theme-border-strong:#30363d;--theme-code-ink:#79b8ff;--theme-code-bg:#58a6ff17;--theme-code-border:#58a6ff40;--shadow-card:0 1px 2px #0003,0 8px 24px -12px #00000080;--shadow-card-hover:0 4px 8px #00000040,0 20px 32px -12px #0009;--shadow-header:0 1px 8px #00000073}[hidden]{display:none!important}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:960px){.container{max-width:960px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1140px}}.astro-code{font-family:var(--font-mono);box-shadow:var(--shadow-card);border-radius:.75rem;margin:0 0 1.5rem;padding:1.5rem 2rem}.code-block{border:1px solid var(--theme-border-soft);box-shadow:var(--shadow-card);border-radius:.75rem;margin:0 0 1.5rem;overflow:hidden}.code-block .astro-code{box-shadow:none;border-radius:0;margin:0}.code-block-header{background:var(--theme-page);border-bottom:1px solid var(--theme-border-soft);justify-content:space-between;align-items:center;gap:.75rem;margin:0;padding:.45rem .75rem .45rem 1.25rem;display:flex}.code-block-lang{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--theme-muted);font-size:.72rem}.code-copy-btn{border:1px solid var(--theme-border-strong);background:var(--theme-surface);color:var(--theme-body);font-family:var(--font-mono);cursor:pointer;border-radius:.4rem;align-items:center;gap:.35rem;padding:.28rem .65rem;font-size:.72rem;transition:color .15s,border-color .15s;display:inline-flex}.code-copy-btn:hover{color:var(--theme-primary);border-color:var(--theme-primary)}.code-copy-btn .icon-check{display:none}.code-copy-btn.copied{color:var(--theme-primary);border-color:var(--theme-primary)}.code-copy-btn.copied .icon-copy{display:none}.code-copy-btn.copied .icon-check{display:inline-flex}.dark .astro-code,.dark .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;-webkit-text-decoration:var(--shiki-dark-text-decoration)!important;text-decoration:var(--shiki-dark-text-decoration)!important}.prose{--tw-prose-body:var(--theme-body);--tw-prose-headings:var(--theme-heading);--tw-prose-links:var(--theme-primary);--tw-prose-bold:var(--theme-heading);--tw-prose-counters:var(--theme-muted);--tw-prose-bullets:var(--theme-accent);--tw-prose-hr:var(--theme-border-soft);--tw-prose-quotes:var(--theme-heading);--tw-prose-quote-borders:var(--theme-accent);--tw-prose-captions:var(--theme-muted);--tw-prose-code:var(--theme-code-ink);--tw-prose-th-borders:var(--theme-border-strong);--tw-prose-td-borders:var(--theme-border-soft)}.prose :where(pre):not(:where([class~=not-prose] *)){color:inherit;background-color:#0000}.prose :where(code):not(:where(pre code)):not(:where([class~=not-prose] *)){background-color:var(--theme-code-bg);border:1px solid var(--theme-code-border);border-radius:.3em;padding:.1em .4em;font-weight:500}.prose :where(code):not(:where(pre code)):not(:where([class~=not-prose] *)):before,.prose :where(code):not(:where(pre code)):not(:where([class~=not-prose] *)):after{content:none}body{font-size:18px;line-height:1.7;font-family:var(--font-serif);color:var(--theme-body);background-color:var(--theme-page)}a{color:var(--theme-primary)}a:hover,a:active{color:var(--theme-accent);text-decoration:none}h1,h2,h3,h4,h5,h6{letter-spacing:-.01em;margin-top:0;font-weight:700;line-height:1.2}p,ul,ol,blockquote,figure,pre,img{margin-top:0}hr{margin:2rem 0}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}.btn{text-transform:uppercase;letter-spacing:.02em;text-align:center;vertical-align:middle;border:1px solid #0000;border-radius:.5rem;padding:.5rem 1.1rem;font-size:1rem;font-weight:600;line-height:1.5;transition:color .15s,background-color .15s,border-color .15s,box-shadow .15s,transform .15s;display:inline-block}.btn:not(:disabled){cursor:pointer}.btn:not(:disabled):hover{transform:translateY(-1px)}.btn-primary{color:#fff;background-color:var(--theme-primary);border-color:var(--theme-primary)}.btn-primary:focus,.btn-primary:hover{color:#fff;background-color:var(--theme-accent);border-color:var(--theme-accent)}.btn-outline-secondary{color:var(--theme-muted);border-color:var(--theme-muted)}.btn-outline-secondary:focus,.btn-outline-secondary:hover{color:#fff;background-color:var(--theme-muted);border-color:var(--theme-muted)}.btn-outline-primary{color:var(--theme-primary);border-color:var(--theme-primary)}.btn-outline-primary:focus,.btn-outline-primary:hover{color:#fff;background-color:var(--theme-primary);border-color:var(--theme-primary)}.tags{flex-wrap:wrap;width:100%;margin-top:auto;display:flex}.blog-card .tags,.portfolio-card .tags{border-bottom:1px solid var(--theme-border-strong);margin-bottom:1rem;padding-bottom:.5rem}.tag{white-space:nowrap;color:#fff;background:var(--theme-primary);border-radius:1rem;margin-bottom:.5rem;margin-right:.25rem;padding:.5rem .75rem;font-size:.9rem;line-height:1.2}a.tag:hover,a.tag:active{color:#fff;background:var(--theme-accent)}.post-tags{flex-wrap:wrap;display:flex}.single-post-meta .post-tags{gap:.5rem}.single-post-meta .tag{margin:0}.single-post-card h1{font-size:1.75rem}.meta-icon-btn{border:1px solid var(--theme-border-strong);width:2rem;height:2rem;color:var(--theme-muted);cursor:pointer;background:0 0;border-radius:9999px;justify-content:center;align-items:center;transition:color .15s,border-color .15s;display:inline-flex;position:relative}.meta-icon-btn:hover,.meta-icon-btn:focus-visible,.meta-icon-btn.copied{color:var(--theme-primary);border-color:var(--theme-primary)}.icon-btn-ghost{width:2rem;height:2rem;color:var(--theme-muted);cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;transition:color .15s,background-color .15s;display:inline-flex}.icon-btn-ghost:hover{color:var(--theme-heading);background:var(--theme-page)}[data-tooltip]:after{content:attr(data-tooltip);background:var(--badge-ink);color:#fff;font-family:var(--font-mono);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:10;border-radius:.3rem;padding:.3rem .55rem;font-size:.7rem;line-height:1;transition:opacity .15s;position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%)}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1;visibility:visible}.card{word-wrap:break-word;background-color:var(--theme-surface);border:1px solid var(--theme-border-soft);min-width:0;box-shadow:var(--shadow-card);background-clip:border-box;border-radius:.75rem;flex-direction:column;display:flex;position:relative;overflow:hidden}.card-body{flex-direction:column;flex:auto;min-height:1px;padding:1.25rem;display:flex}.card-title{margin-bottom:.75rem}.card-subtitle{border-bottom:1px solid var(--theme-border-strong);margin-top:-.375rem;margin-bottom:.5rem;padding-bottom:.25rem}.site-header{background-color:var(--theme-surface);border-bottom:1px solid var(--theme-border-soft);box-shadow:var(--shadow-header)}.site-header .header-logo{max-width:200px}.site-header .navbar{line-height:1}.site-header #nav-menu{background-color:var(--theme-surface)}.site-header #nav-menu li{margin:0 .5rem}.site-header .nav-link{color:var(--theme-accent);text-transform:uppercase;padding:.5rem;font-size:1.15rem;font-weight:600;transition:color .25s ease-in-out;display:block;position:relative}.site-header .nav-link:before{content:"";background-color:var(--theme-primary);transform-origin:50%;width:100%;height:2px;margin:0 auto;transition:transform .25s ease-in-out;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.site-header .nav-link:hover,.site-header .nav-link.active{color:var(--theme-primary)}.site-header .nav-link:hover:before,.site-header .nav-link.active:before{transform:scaleX(1)}@media screen and (max-width:767px){.site-header #nav-menu{border-top:1px solid var(--theme-border-soft);min-height:100px;box-shadow:var(--shadow-card-hover);border-radius:0 0 .75rem .75rem;padding:1rem}.site-header #nav-menu li{margin:0}.site-header .nav-link{border-bottom:1px solid var(--theme-border-soft);padding-left:0}.site-header .nav-link:before{display:none}.site-header .nav-link:hover,.site-header .nav-link.active{border-color:currentColor}}.section-heading{text-align:center;text-transform:uppercase;letter-spacing:.02em;color:var(--theme-heading);margin-bottom:3rem;font-size:2rem;font-weight:700}.section-heading span{padding-bottom:.75rem;display:inline-block;position:relative}.section-heading span:before{content:"";background:var(--theme-accent);border-radius:2px;width:3rem;height:4px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.hero-section{background-image:url(/images/hero-banner.jpeg);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;height:calc(100vh - 60px);min-height:32rem}.hero-container{background:linear-gradient(#080c14a6,#080c147a 45%,#080c14b3);flex-direction:column;justify-content:center;height:100%;display:flex;position:relative}.hero-header{text-align:center;opacity:0;animation:.8s ease-out .1s forwards hero-in;transform:translateY(1rem)}@keyframes hero-in{to{opacity:1;transform:translateY(0)}}.hero-header h1{color:#fff;text-transform:uppercase;margin:0;font-size:4.95rem}.hero-header h1>span{font-weight:700;display:inline-block;position:relative}.hero-header h1>span:before,.hero-header h1>span:after{content:"";background:#fff;width:4px;height:115%;position:absolute;top:15px}.hero-header h1>span:before{left:-8%}.hero-header h1>span:after{right:-8%}.hero-header h1>span .sub-span{width:116%;height:100%;position:absolute;top:108%;left:-8%;overflow:hidden}.hero-header h1>span .sub-span>span{font-size:1.125rem;position:relative;top:-50%}.hero-header h1>span .sub-span>span:before,.hero-header h1>span .sub-span>span:after{content:"";background:#fff;width:500%;height:4px;position:absolute;top:39%}.hero-header h1>span .sub-span>span:before{right:110%}.hero-header h1>span .sub-span>span:after{left:110%}.hero-section .learn-more{text-align:center;position:absolute;bottom:0;left:50%;transform:translate(-50%,-50%)}.hero-section .learn-more a{color:#fff;font-weight:600}.hero-section .learn-more .text{margin-bottom:.625rem}.hero-section .learn-more .icon{justify-content:center;animation:1.3s cubic-bezier(.07,.5,.58,1) infinite moveDown;display:flex}@keyframes moveDown{0%,to{transform:translateY(10px)}50%{transform:translateY(0)}}@media screen and (max-width:767px){.hero-header h1{font-size:3.25rem}.hero-header h1>span:before,.hero-header h1>span:after{display:none}}@media screen and (max-width:520px){.hero-header h1{font-size:2.25rem}.hero-header h1>span .sub-span{width:100%;left:0}.hero-header h1>span .sub-span>span:before,.hero-header h1>span .sub-span>span:after{display:none}.hero-header h1>span .sub-span>span{top:0}}@media(prefers-reduced-motion:reduce){.hero-header{opacity:1;animation:none;transform:none}.hero-section .learn-more .icon{animation:none}}.about-me-container{border-top:2px solid var(--theme-border-soft);margin-top:1rem;padding-top:1rem}.about-me-container h5{color:var(--theme-heading);font-weight:600}.portfolio-card{height:100%}.portfolio-card .card-body{border-top:1px solid var(--theme-border-soft);align-items:flex-start}.portfolio-card .card-title,.career-card .card-title{font-size:1.25rem}.portfolio-card .card-title{border-bottom:1px solid var(--theme-border-soft);width:100%;padding-bottom:.5rem}.job-card{flex-direction:column;display:flex}.job-period{background:var(--badge-ink);color:#fff;text-transform:uppercase;text-align:center;border-radius:.5rem;margin-bottom:1.8rem;padding:.75rem 1rem;font-weight:600;position:relative}.job-period:before{content:"";background:var(--badge-ink);width:20px;height:20px;margin:0 auto;position:absolute;bottom:-8px;left:0;right:0;transform:rotate(45deg)}.career-card{flex:auto}.career-card .card-subtitle{color:var(--theme-muted);font-style:italic;font-weight:600}.career-card .job-skills{border-top:1px solid var(--theme-border-strong);margin-top:1rem;padding-top:.75rem}.check-list{margin-bottom:0;padding-left:0;list-style:none}.prose .check-list{margin-bottom:1.5rem}.check-list li{margin:0;padding:.5rem .5rem .5rem 1.75rem;position:relative}.check-list li:before{content:"";background-color:var(--theme-accent);width:1.15rem;height:1.15rem;position:absolute;top:.8rem;left:0;-webkit-mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"/></svg>') 50%/contain no-repeat;mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM337 209L209 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L303 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"/></svg>') 50%/contain no-repeat}.alert{border-left:4px solid;border-radius:.5rem;margin:0 0 1.5rem;padding:1rem 1.25rem}.alert strong{color:inherit}.alert-warning{color:#7a5300;background:#fff8e6;border-color:#f0b429}.alert-info{color:#145a8a;background:#e8f4fd;border-color:#2d9fd2}.dark .alert-warning{color:#f0c674;background:#2a2317;border-color:#d69e2e}.dark .alert-info{color:#8fc7e8;background:#16222e;border-color:#2d9fd2}.post-subheading{color:var(--theme-primary);text-align:center;margin-bottom:1rem;padding-bottom:.75rem;position:relative}.post-subheading:before{content:"";background:var(--theme-primary);width:36px;height:2px;margin-left:-18px;position:absolute;bottom:0;left:50%}.point-list{padding-left:0;list-style:none}.point-list li{margin:0 0 .5rem;padding-left:1.75rem;position:relative}.point-list li:last-child{margin-bottom:0}.point-list li:before{content:"";background-color:var(--theme-primary);width:1.05rem;height:1.05rem;position:absolute;top:.35rem;left:0;-webkit-mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM188.3 147.1c7.6-4.2 16.8-4.1 24.3 .5l144 88c7.1 4.4 11.5 12.1 11.5 20.5s-4.4 16.1-11.5 20.5l-144 88c-7.4 4.5-16.7 4.7-24.3 .5s-12.3-12.2-12.3-20.9l0-176c0-8.7 4.7-16.7 12.3-20.9z"/></svg>') 50%/contain no-repeat;mask:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM188.3 147.1c7.6-4.2 16.8-4.1 24.3 .5l144 88c7.1 4.4 11.5 12.1 11.5 20.5s-4.4 16.1-11.5 20.5l-144 88c-7.4 4.5-16.7 4.7-24.3 .5s-12.3-12.2-12.3-20.9l0-176c0-8.7 4.7-16.7 12.3-20.9z"/></svg>') 50%/contain no-repeat}.number-list{padding-left:1rem}.number-list li{margin:0 0 .5rem;padding-left:.25rem}.number-list li:last-child{margin-bottom:0}.table{border-collapse:collapse;width:100%;margin:0 0 1.5rem}.table th,.table td{vertical-align:top;padding:.75rem}.table-bordered th,.table-bordered td{border:1px solid var(--theme-border-strong)}.thead-light th{background-color:var(--theme-page);color:var(--theme-heading)}.thumb-link:focus-visible{box-shadow:inset 0 0 0 3px var(--theme-accent);outline:none}.site-footer{border-top:1px solid var(--theme-border-soft)}.site-footer .footer-social-links a{color:var(--theme-muted);min-width:32px;padding:.25rem;transition:color .15s,transform .15s;display:inline-block}.site-footer .footer-social-links a:hover{transform:translateY(-2px)}.site-footer .footer-social-links a.github:hover,.site-footer .footer-social-links a.x-twitter:hover{color:var(--theme-heading)}.site-footer .footer-social-links a.stack-overflow:hover{color:#f48024}.site-footer .footer-social-links a.linkedin:hover{color:#0077b5}.pagination-wrapper{justify-content:center;margin:2rem 0;display:flex}.pagination{align-items:center;gap:.5rem;padding:0;list-style:none;display:flex}.page-item{display:flex}.page-link{min-width:2.5rem;height:2.5rem;color:var(--theme-primary);background-color:var(--theme-surface);border:1px solid var(--theme-border-soft);border-radius:.5rem;justify-content:center;align-items:center;padding:.5rem .75rem;text-decoration:none;transition:color .15s,background-color .15s,border-color .15s;display:flex}.page-link:hover{background-color:var(--theme-page);border-color:var(--theme-border-soft)}.page-item.active .page-link{color:#fff;background-color:var(--theme-primary);border-color:var(--theme-primary);cursor:default}.page-item.disabled .page-link{color:var(--theme-muted);pointer-events:none;background-color:var(--theme-surface);border-color:var(--theme-border-soft);opacity:.5}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}.theme-toggle[data-astro-cid-x3pjskd3]:hover{color:var(--theme-primary)}.theme-toggle[data-astro-cid-x3pjskd3] .icon-light{display:none}.dark .theme-toggle[data-astro-cid-x3pjskd3] .icon-light{display:block}.dark .theme-toggle[data-astro-cid-x3pjskd3] .icon-dark{display:none}.recent-post[data-astro-cid-ssfzsv2f]{display:block;color:var(--theme-body)}.recent-post[data-astro-cid-ssfzsv2f]:hover h6[data-astro-cid-ssfzsv2f]{color:var(--theme-primary)}
