*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.block{display:block}.inline{display:inline}.flex{display:flex}.hidden{display:none}.size-6{width:1.5rem;height:1.5rem}.flex-shrink{flex-shrink:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-wrap{flex-wrap:wrap}.border{border-width:1px}.italic{font-style:italic}.underline{text-decoration-line:underline}.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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.theme-loading[data-astro-cid-sckkx6r4] body{visibility:hidden}.theme-switching[data-astro-cid-sckkx6r4]{transition:opacity .2s ease-out}.theme-switching[data-astro-cid-sckkx6r4] body{opacity:.95}@supports (font-display: swap){[data-astro-cid-sckkx6r4]{font-display:swap}}body{opacity:1;transition:opacity .1s ease-in}[data-astro-cid-sckkx6r4]{transition:background-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),fill .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}body{background-color:var(--theme-color-background-default)}[data-astro-cid-sckkx6r4]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='26' fill='none' viewBox='0 0 24 26'%3E%3Cpath fill='%23fff' d='M1.69 2.69a2.357 2.357 0 0 1 2.495-.54L21.47 8.632a2.357 2.357 0 0 1-.255 4.494l-7.271 1.818-1.818 7.27a2.357 2.357 0 0 1-4.494.256L1.15 5.185a2.357 2.357 0 0 1 .54-2.495Z'/%3E%3Cpath fill='%23000' d='M3.633 3.622A.786.786 0 0 0 2.62 4.633L9.103 21.92a.786.786 0 0 0 1.498-.086l2.047-8.185 8.185-2.046a.785.785 0 0 0 .086-1.498L3.633 3.622Z'/%3E%3C/svg%3E"),auto}a[data-astro-cid-sckkx6r4],button[data-astro-cid-sckkx6r4],[data-astro-cid-sckkx6r4][role=button],input[data-astro-cid-sckkx6r4],textarea[data-astro-cid-sckkx6r4],select[data-astro-cid-sckkx6r4]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='29' fill='none' viewBox='0 0 28 29'%3E%3Cpath fill='%23fff' d='M6.84 21.83c-.47-.6-1.05-1.82-2.07-3.34-.58-.83-2.01-2.41-2.45-3.23a2.1 2.1 0 0 1-.25-1.67 2.2 2.2 0 0 1 2.39-1.67c.85.18 1.63.6 2.25 1.2.43.41.82.85 1.18 1.32.27.34.33.47.63.85.3.39.5.77.35.2-.11-.83-.31-2.23-.6-3.48-.21-.95-.26-1.1-.46-1.82s-.32-1.32-.54-2.13c-.2-.8-.35-1.62-.46-2.44a4.7 4.7 0 0 1 .43-3.08c.58-.55 1.44-.7 2.17-.37a4.4 4.4 0 0 1 1.57 2.17c.43 1.07.72 2.19.86 3.33.27 1.67.79 4.1.8 4.6 0-.61-.11-1.91 0-2.5.12-.6.54-1.1 1.12-1.33.5-.15 1.02-.19 1.53-.1.52.1.98.4 1.29.83.38.98.6 2 .63 3.05.04-.91.2-1.82.47-2.7.28-.39.68-.67 1.15-.8.55-.1 1.11-.1 1.66 0 .46.15.85.44 1.14.82.35.88.56 1.82.63 2.77 0 .23.12-.65.48-1.24a1.67 1.67 0 1 1 3.17 1.07v3.77c-.06.97-.2 1.94-.4 2.9-.29.85-.7 1.65-1.2 2.38-.8.9-1.48 1.92-1.98 3.02a6.67 6.67 0 0 0 .03 3.2c-.68.07-1.37.07-2.05 0-.65-.1-1.45-1.4-1.67-1.8a.63.63 0 0 0-1.13 0c-.37.64-1.18 1.79-1.75 1.85-1.12.14-3.42 0-5.23 0 0 0 .3-1.66-.39-2.27-.68-.6-1.38-1.3-1.9-1.76l-1.4-1.6Z'/%3E%3Cpath fill='%23000' d='M20.65 22.3v-6.24c0-.38-.31-.68-.7-.68-.37 0-.68.3-.68.68v6.23c0 .38.3.68.69.68.38 0 .69-.3.69-.68ZM17.2 22.3l-.04-6.25a.67.67 0 1 0-1.34.01l.04 6.24a.67.67 0 1 0 1.34 0ZM12.37 16.07l.04 6.22c0 .38.3.68.67.68.37 0 .67-.3.67-.68l-.04-6.23c0-.38-.3-.68-.67-.68-.37 0-.67.31-.67.69Z'/%3E%3C/svg%3E"),pointer}p[data-astro-cid-sckkx6r4],h1[data-astro-cid-sckkx6r4],h2[data-astro-cid-sckkx6r4],h3[data-astro-cid-sckkx6r4],h4[data-astro-cid-sckkx6r4],h5[data-astro-cid-sckkx6r4],h6[data-astro-cid-sckkx6r4],span[data-astro-cid-sckkx6r4],div[data-astro-cid-sckkx6r4],li[data-astro-cid-sckkx6r4],td[data-astro-cid-sckkx6r4],th[data-astro-cid-sckkx6r4],label[data-astro-cid-sckkx6r4],.text-content[data-astro-cid-sckkx6r4],.card-content[data-astro-cid-sckkx6r4],.about-content[data-astro-cid-sckkx6r4],.experience-list[data-astro-cid-sckkx6r4],.colophon-text[data-astro-cid-sckkx6r4]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='25' fill='none' viewBox='0 0 13 25'%3E%3Cpath fill='%23000' d='M8 18.48v-4.23h1.27v-3H8V5.8c.2-.44.5-.82.87-1.14.23-.16.52-.32.83-.44a5.4 5.4 0 0 1 1.17-.05l.87.05.05-.87.08-1.27.06-.87-.88-.06c-.7-.04-1.4 0-2.1.14l-.05.01-.06.02c-.7.25-1.29.56-1.82.95L7 2.28l-.03.02c-.16.13-.31.28-.46.42a6.93 6.93 0 0 0-.39-.38l-.03-.03-.03-.02a5.86 5.86 0 0 0-1.85-.97l-.04-.01-.04-.01a8.1 8.1 0 0 0-2.19-.16l-.87.06.06.87.08 1.27.06.88.87-.06c.43-.03.85 0 1.27.08.23.08.5.21.74.4.33.3.63.72.84 1.19v5.42H3.72v3h1.27v4.2c-.21.47-.51.89-.88 1.24-.2.14-.46.28-.75.37-.36.07-.8.1-1.22.06l-.87-.05-.06.87-.08 1.27-.06.88.87.05c.71.05 1.42 0 2.12-.14h.04l.04-.02a5.83 5.83 0 0 0 1.88-.95l.03-.02.03-.03.44-.43c.14.14.28.27.44.4l.02.02.02.01c.55.42 1.14.73 1.76.95l.05.02.06.01c.77.17 1.47.22 2.17.18l.88-.05-.05-.87-.07-1.27-.05-.87-.87.04c-.42.03-.83 0-1.24-.08-.24-.1-.52-.25-.8-.45A3.4 3.4 0 0 1 8 18.48Z'/%3E%3Cpath fill='%23000' d='M8 18.48v-4.23h1.27v-3H8V5.8c.2-.44.5-.82.87-1.14.23-.16.52-.32.83-.44a5.4 5.4 0 0 1 1.17-.05l.87.05.05-.87.08-1.27.06-.87-.88-.06c-.7-.04-1.4 0-2.1.14l-.05.01-.06.02c-.7.25-1.29.56-1.82.95L7 2.28l-.03.02c-.16.13-.31.28-.46.42a6.93 6.93 0 0 0-.39-.38l-.03-.03-.03-.02a5.86 5.86 0 0 0-1.85-.97l-.04-.01-.04-.01a8.1 8.1 0 0 0-2.19-.16l-.87.06.06.87.08 1.27.06.88.87-.06c.43-.03.85 0 1.27.08.23.08.5.21.74.4.33.3.63.72.84 1.19v5.42H3.72v3h1.27v4.2c-.21.47-.51.89-.88 1.24-.2.14-.46.28-.75.37-.36.07-.8.1-1.22.06l-.87-.05-.06.87-.08 1.27-.06.88.87.05c.71.05 1.42 0 2.12-.14h.04l.04-.02a5.83 5.83 0 0 0 1.88-.95l.03-.02.03-.03.44-.43c.14.14.28.27.44.4l.02.02.02.01c.55.42 1.14.73 1.76.95l.05.02.06.01c.77.17 1.47.22 2.17.18l.88-.05-.05-.87-.07-1.27-.05-.87-.87.04c-.42.03-.83 0-1.24-.08-.24-.1-.52-.25-.8-.45A3.4 3.4 0 0 1 8 18.48Z'/%3E%3C/svg%3E"),text}.card[data-astro-cid-dohjnao5]{background-color:var(--theme-color-background-default);border:1px solid var(--theme-color-border-default, #d9d9d9);border-radius:8px;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;transition:all .2s;height:100%}.card[data-astro-cid-dohjnao5]:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1rem) rotate(1deg)}.card-icon[data-astro-cid-dohjnao5]{display:flex;align-items:flex-start}.icon-wrapper[data-astro-cid-dohjnao5]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--theme-color-foreground-default)}.card-image[data-astro-cid-dohjnao5]{width:100%;height:160px;border-radius:4px;overflow:hidden;background-color:var(--theme-color-background-default);display:flex;align-items:center;justify-content:center}.card-image[data-astro-cid-dohjnao5] img[data-astro-cid-dohjnao5]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.card-content[data-astro-cid-dohjnao5]{display:flex;flex-direction:column;gap:.5rem;flex:1}.card-title[data-astro-cid-dohjnao5]{font-size:1.5rem;font-weight:500;line-height:1.2;color:var(--theme-color-foreground-default);margin:0;letter-spacing:-.48px}.card-description[data-astro-cid-dohjnao5]{font-size:1rem;line-height:1.4;color:var(--theme-color-foreground-default);opacity:.7;margin:0}@media (min-width: 768px){.card[data-astro-cid-dohjnao5]{flex-direction:column;align-items:flex-start}.card-image[data-astro-cid-dohjnao5]{width:160px;height:160px;flex-shrink:0}.card-content[data-astro-cid-dohjnao5]{flex:1}}@media (max-width: 767px){.card[data-astro-cid-dohjnao5]{flex-direction:column}.card-image[data-astro-cid-dohjnao5]{width:100%;height:160px}}.tag[data-astro-cid-blwjyjpt]{background-color:var(--theme-color-background-default);border:1px solid var(--theme-color-border-default, #d9d9d9);border-radius:8px;padding:.5rem;display:inline-flex;align-items:center;transition:all .2s}.tag[data-astro-cid-blwjyjpt]:hover{background-color:var(--theme-color-highlight-default);color:var(--theme-color-background-default);transform:rotate(1deg);border-radius:50px}.tag-label[data-astro-cid-blwjyjpt]{font-size:1rem;font-weight:400;line-height:1;color:var(--theme-color-highlight-default);white-space:nowrap}.tag[data-astro-cid-blwjyjpt]:hover .tag-label[data-astro-cid-blwjyjpt]{color:var(--theme-color-background-default)}.unicorn-3d-element[data-astro-cid-6ff3b77o]{position:fixed;top:-10%;right:-10%;width:728px;height:728px;opacity:.8;pointer-events:none;z-index:0}@media (max-width: 1023px){.unicorn-3d-element[data-astro-cid-6ff3b77o]{width:300px;height:300px;top:-5%;right:-5%;left:auto;transform:none}}@media (min-width: 1440px){.unicorn-3d-element[data-astro-cid-6ff3b77o]{width:1024px;height:1024px}}.main-grid{display:grid;gap:2rem;width:100%;max-width:1400px;margin:0 auto;padding:4rem 1rem 8rem;min-height:100vh;background-color:transparent}@media (max-width: 767px){.main-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:auto;padding:4rem 1rem 8rem;gap:6rem}.grid-profile,.grid-hero,.grid-about,.grid-about-cards,.grid-skills,.grid-experience,.grid-contact,.grid-colophon,.grid-footer{grid-column:1 / -1}}@media (min-width: 768px) and (max-width: 1023px){.main-grid{grid-template-columns:repeat(4,1fr);padding:2rem;gap:4rem}.grid-profile,.grid-hero,.grid-about,.grid-about-cards,.grid-skills,.grid-experience{grid-column:1 / -1}.grid-contact{grid-column:1 / 3}.grid-colophon{grid-column:3 / -1}.grid-footer{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:flex-end}}@media (min-width: 1024px){.main-grid{grid-template-columns:repeat(7,1fr);grid-template-rows:auto;padding:4rem 2rem 8rem;gap:4rem}.main-grid .grid-profile{grid-area:1 / 1 / 2 / 5}.main-grid .grid-hero{grid-area:2 / 1 / 3 / 6}.main-grid .grid-about{grid-area:3 / 1 / 4 / 6;display:grid;grid-template-columns:1fr 4fr;gap:2rem;align-items:start}.main-grid .grid-about .about-content{max-width:65ch}.main-grid .grid-about-cards{grid-area:4 / 1 / 5 / -1;display:grid;grid-template-columns:1fr 6fr;gap:2rem;align-items:start}.main-grid .grid-skills{grid-area:5 / 1 / 6 / -1;display:grid;grid-template-columns:1fr 6fr;gap:2rem;align-items:start}.main-grid .grid-experience{grid-area:7 / 1 / 8 / 6;display:grid;grid-template-columns:1fr 4fr;gap:2rem;align-items:start}.main-grid .grid-experience .experience-list{max-width:65ch}.main-grid .grid-experience .experience-header{display:flex;justify-content:space-between;align-items:center}.main-grid .grid-footer{grid-area:9 / 1 / 10 / -1;display:grid;grid-template-columns:1fr 6fr;gap:2rem;align-items:flex-start}.main-grid .grid-footer .footer-logo{grid-column:1}.main-grid .grid-footer .footer-grid{grid-column:2;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;align-items:flex-start}.main-grid .grid-footer .footer-grid .footer-contact{grid-column:1}.main-grid .grid-footer .footer-grid .footer-media{grid-column:2}.main-grid .grid-footer .footer-grid .footer-colophon{grid-column:3}.main-grid .grid-footer .footer-grid .footer-copyright{grid-column:4;text-align:right}}.grid-section{display:flex;flex-direction:column;gap:1rem}@media (min-width: 1024px){.grid-section .section-label{grid-column:1}}.card-grid{display:flex;gap:2rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.card-grid>*{flex-shrink:0;scroll-snap-align:start}@media (max-width: 767px){.card-grid.card-grid-4>*{max-width:75vw;min-width:280px}.main-grid .grid-footer .footer-grid{display:grid;grid-template-columns:1fr;gap:4rem}.main-grid .grid-footer .footer-grid .footer-contact,.main-grid .grid-footer .footer-grid .footer-media,.main-grid .grid-footer .footer-grid .footer-colophon,.main-grid .grid-footer .footer-grid .footer-copyright{grid-column:1}.main-grid .grid-footer .footer-grid .footer-copyright{text-align:left}}@media (min-width: 768px){.card-grid{display:grid;grid-template-columns:repeat(2,1fr);overflow-x:visible}}@media (min-width: 1024px){.card-grid.card-grid-4{grid-template-columns:repeat(4,1fr)}}@media (min-width: 1440px){.main-grid{gap:8rem;padding:4rem 4rem 8rem}}.tag-grid{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start;max-width:65ch}.layer-content{z-index:0;position:relative}.layer-controls{z-index:1}.codeblock-popover{position:fixed;bottom:2rem;right:2rem;width:-moz-fit-content;width:fit-content;z-index:1000;-webkit-user-select:none;-moz-user-select:none;user-select:none;height:-moz-fit-content;height:fit-content;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transform:translateY(calc(100% + 4rem));transition:transform .4s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);background-color:var(--theme-color-background-default);border:1px solid var(--theme-color-border-default, #d9d9d9);box-shadow:0 10px 40px #00000026}.codeblock-popover code[class*=language-],.codeblock-popover pre[class*=language-]{font-size:.875rem}.codeblock-popover pre[class*=language-]{margin:0}.codeblock-popover.open{transform:translateY(0)}@media (min-width: 1024px){.codeblock-popover,.codeblock-popover.open{bottom:2rem;right:2rem;left:auto}}body{margin-left:0}@media (max-width: 1023px){.codeblock-popover{width:calc(100vw - 2rem);bottom:9rem;right:1rem;z-index:9999;max-height:calc(100vh - 8rem)}}@media (min-width: 1023px){.codeblock-popover,.codeblock-popover.open{right:2rem;bottom:2rem;left:auto}}.codeblock-container{display:flex;flex-direction:column;background-color:transparent;border:none;border-radius:0;overflow:hidden;box-shadow:none;resize:none;min-width:auto;min-height:auto}.codeblock-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--theme-color-border-default, #d9d9d9);background-color:var(--theme-color-background-default);cursor:default;flex-shrink:0}.codeblock-drag-handle{display:flex;align-items:center;gap:.5rem;flex:1;cursor:default}.codeblock-title{color:var(--theme-color-foreground-default);font-size:1rem;font-weight:600;font-family:IBM Plex Sans,monospace}.codeblock-close{background:none;border:none;font-size:1.5rem;color:var(--theme-color-foreground-default);cursor:pointer;padding:.25rem;line-height:1;opacity:.7;transition:opacity .2s}.codeblock-close:hover{opacity:1}.codeblock-content{flex:1;padding:0;background-color:var(--brand-theme-color-codeblock-dark-mode);overflow:auto;display:flex;flex-direction:column}@media (prefers-color-scheme: light){.codeblock-content{background-color:var(--brand-theme-color-codeblock-light-mode)}}.codeblock-pre{flex:1;background-color:transparent;border:none;border-radius:0;padding:1.5rem;margin:0;overflow:auto;font-family:IBM Plex Mono,Courier New,monospace;font-size:12px;line-height:1.5;color:var(--theme-color-foreground-default)}.codeblock-pre code{max-width:65ch;display:block}@media (max-width: 1279px){.codeblock-pre{padding:1rem;font-size:11px}}.action-bar{position:fixed;background-color:var(--theme-color-background-default);border:1px solid var(--theme-color-border-default, #d9d9d9);border-radius:9999px;padding:1rem 1.5rem;display:flex;gap:1rem;align-items:center;box-shadow:0 4px 12px #0000001a;backdrop-filter:blur(10px)}@media (min-width: 1024px){.action-bar{top:2rem;right:2rem}}@media (max-width: 1023px){.action-bar{bottom:2rem;left:50%;transform:translate(-50%)}}.action-button{background-color:var(--theme-color-highlight-default);border:1px solid var(--theme-color-highlight-default);border-radius:32px;padding:.75rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;width:44px;height:44px}.action-button:hover{opacity:.9;transform:translateY(-1px)}.action-button:active{transform:translateY(0)}.action-button.active{background-color:var(--theme-color-background-default);border-color:var(--theme-color-highlight-default)}.action-button.active .action-icon{stroke:var(--theme-color-highlight-default)}.action-icon{width:20px;height:20px;stroke:var(--theme-color-background-default)}.action-button:focus{outline:2px solid var(--theme-color-highlight-default);outline-offset:2px}code[class*=language-],pre[class*=language-]{color:#f8f8f2;background:0 0;text-shadow:0 1px rgba(0,0,0,.3);font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;hyphens:none}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto;border-radius:.3em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#272822}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8292a2}.token.punctuation{color:#f8f8f2}.token.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag{color:#f92672}.token.boolean,.token.number{color:#ae81ff}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#a6e22e}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:#f8f8f2}.token.atrule,.token.attr-value,.token.class-name,.token.function{color:#e6db74}.token.keyword{color:#66d9ef}.token.important,.token.regex{color:#fd971f}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}span.inline-color-wrapper{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyIDIiPjxwYXRoIGZpbGw9ImdyYXkiIGQ9Ik0wIDBoMnYySDB6Ii8+PHBhdGggZmlsbD0id2hpdGUiIGQ9Ik0wIDBoMXYxSDB6TTEgMWgxdjFIMXoiLz48L3N2Zz4=);background-position:center;background-size:110%;display:inline-block;height:1.333ch;width:1.333ch;margin:0 .333ch;box-sizing:border-box;border:1px solid #fff;outline:1px solid rgba(0,0,0,.5);overflow:hidden}span.inline-color{display:block;height:120%;width:120%}div.code-toolbar{position:relative}div.code-toolbar>.toolbar{position:absolute;z-index:10;top:.3em;right:.2em;transition:opacity .3s ease-in-out;opacity:0}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar:focus-within>.toolbar{opacity:1}div.code-toolbar>.toolbar>.toolbar-item{display:inline-block}div.code-toolbar>.toolbar>.toolbar-item>a{cursor:pointer}div.code-toolbar>.toolbar>.toolbar-item>button{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar>.toolbar-item>span{color:#bbb;font-size:.8em;padding:0 .5em;background:#f5f2f0;background:#e0e0e033;box-shadow:0 2px #0003;border-radius:.5em}div.code-toolbar>.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar>.toolbar-item>span:focus,div.code-toolbar>.toolbar>.toolbar-item>span:hover{color:inherit;text-decoration:none}.page-container[data-astro-cid-j7pv25f6]{color:var(--theme-color-foreground-default);min-height:100vh;position:relative;transition:color .3s cubic-bezier(.4,0,.2,1),background-color .3s cubic-bezier(.4,0,.2,1),margin-left .4s cubic-bezier(.4,0,.2,1)}.profile-container[data-astro-cid-j7pv25f6]{display:flex;align-items:center;gap:1rem}.profile-image[data-astro-cid-j7pv25f6]{width:64px;height:64px;border-radius:50%;overflow:hidden;flex-shrink:0;border:1px solid var(--theme-color-border-default, #d9d9d9)}.profile-image[data-astro-cid-j7pv25f6] img[data-astro-cid-j7pv25f6]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.profile-name[data-astro-cid-j7pv25f6]{font-size:1.5rem;font-weight:500;line-height:1.2;color:var(--theme-color-foreground-default);margin:0;letter-spacing:-.48px}.profile-title[data-astro-cid-j7pv25f6]{font-size:1.25rem;font-weight:400;line-height:1.2;color:var(--theme-color-foreground-default);opacity:.7;margin:0}.hero-headline[data-astro-cid-j7pv25f6]{font-size:3rem;font-weight:700;line-height:1.2;color:var(--theme-color-foreground-default);margin:0;letter-spacing:-.96px}.highlight[data-astro-cid-j7pv25f6]{color:var(--theme-color-highlight-default)}@media (max-width: 767px){.hero-headline[data-astro-cid-j7pv25f6]{font-size:2rem;letter-spacing:-.64px}}.section-label[data-astro-cid-j7pv25f6]{font-size:.875rem;font-weight:500;line-height:1.4;color:var(--theme-color-foreground-default);opacity:.6;margin:0;margin-bottom:1rem}.about-content[data-astro-cid-j7pv25f6]{font-size:1.25rem;line-height:1.4;color:var(--theme-color-foreground-default)}.about-content[data-astro-cid-j7pv25f6] p[data-astro-cid-j7pv25f6]{margin:0}.tag-more[data-astro-cid-j7pv25f6]{font-size:1rem;line-height:1.4;color:var(--theme-color-foreground-default);opacity:.6;font-style:italic}.experience-list[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:1rem}.experience-item[data-astro-cid-j7pv25f6]{background-color:var(--theme-color-background-default);border:1px solid var(--theme-color-border-default, #d9d9d9);border-radius:8px;padding:.75rem 1rem}.experience-header[data-astro-cid-j7pv25f6],.job-info[data-astro-cid-j7pv25f6]{display:flex;flex-wrap:wrap;gap:.25rem;align-items:baseline}.job-title[data-astro-cid-j7pv25f6]{font-size:1rem;font-weight:500;color:var(--theme-color-foreground-default)}.job-company[data-astro-cid-j7pv25f6]{font-size:1rem;font-weight:400;color:var(--theme-color-highlight-default)}.job-dates[data-astro-cid-j7pv25f6]{font-size:1rem;color:var(--theme-color-foreground-default);opacity:.6;margin-top:.25rem}.linkedin-link[data-astro-cid-j7pv25f6]{color:var(--theme-color-link-rest-default);text-decoration:underline;font-size:.875rem;font-weight:600;transition:color .2s}.linkedin-link[data-astro-cid-j7pv25f6]:hover{color:var(--theme-color-link-hover-default)}.contact-links[data-astro-cid-j7pv25f6],.media-links[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:.5rem}.contact-link[data-astro-cid-j7pv25f6]{color:var(--theme-color-link-rest-default);text-decoration:underline;transition:color .2s}.contact-link[data-astro-cid-j7pv25f6]:hover{color:var(--theme-color-link-hover-default)}.colophon-text[data-astro-cid-j7pv25f6]{font-size:.875rem;line-height:1.4;color:var(--theme-color-foreground-default);opacity:.7;margin:0}.footer-logo[data-astro-cid-j7pv25f6]{display:flex;align-items:flex-end}.logo-container[data-astro-cid-j7pv25f6]{width:40px;height:40px;background-color:var(--theme-color-logo-background-default);border-radius:4px;display:flex;align-items:center;justify-content:center}.footer-copyright[data-astro-cid-j7pv25f6]{text-align:right}.footer-copyright[data-astro-cid-j7pv25f6] p[data-astro-cid-j7pv25f6]{font-size:.875rem;color:var(--theme-color-foreground-default);opacity:.6;margin:0}@media (max-width: 767px){.footer-copyright[data-astro-cid-j7pv25f6]{text-align:left}}
