*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.hover-container:hover{width:100%}@media (min-width: 640px){.hover-container:hover{max-width:640px}}@media (min-width: 768px){.hover-container:hover{max-width:768px}}@media (min-width: 1024px){.hover-container:hover{max-width:1024px}}@media (min-width: 1280px){.hover-container:hover{max-width:1280px}}@media (min-width: 1536px){.hover-container:hover{max-width:1536px}}.absolute{position:absolute}.relative{position:relative}.bottom-4{bottom:1rem}.left-1\/2{left:50%}.left-full{left:100%}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.m7{margin:1.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my{margin-top:1rem;margin-bottom:1rem}.my-0{margin-top:0;margin-bottom:0}.mb-3{margin-bottom:.75rem}.mb-6{margin-bottom:1.5rem}.me{margin-inline-end:1rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mt-2{margin-top:.5rem}.group:hover .group-hover\:block{display:block}.hidden{display:none}.h-48{height:12rem}.max-w-\[1100px\]{max-width:1100px}.min-h-screen{min-height:100vh}.w-40{width:10rem}.w-full{width:100%}.flex{display:flex}.flex\!{display:flex!important}.inline-flex{display:inline-flex}.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.-translate-x-1\/2{--un-translate-x:-50%;transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.cursor-default{cursor:default}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-10px{gap:10px}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-5{column-gap:1.25rem}.gap-x-8{column-gap:2rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.border{border-width:1px}.border-x-0{border-left-width:0px;border-right-width:0px}.border-t{border-top-width:1px}.border-\[var\(--line\)\]{border-color:var(--line)}.rounded{border-radius:.25rem}.rounded-\[var\(--radius-badge\)\]{border-radius:var(--radius-badge)}.rounded-\[var\(--radius-image\)\]{border-radius:var(--radius-image)}.rounded-none{border-radius:0}.bg-\[\#00DC82\]{--un-bg-opacity:1;background-color:rgb(0 220 130 / var(--un-bg-opacity))}.bg-\[\#1F2328\]{--un-bg-opacity:1;background-color:rgb(31 35 40 / var(--un-bg-opacity))}.bg-\[\#61DAFB\]{--un-bg-opacity:1;background-color:rgb(97 218 251 / var(--un-bg-opacity))}.bg-\[\#68A063\]{--un-bg-opacity:1;background-color:rgb(104 160 99 / var(--un-bg-opacity))}.bg-\[\#708090\]{--un-bg-opacity:1;background-color:rgb(112 128 144 / var(--un-bg-opacity))}.bg-\[\#FFD700\]{--un-bg-opacity:1;background-color:rgb(255 215 0 / var(--un-bg-opacity))}.bg-gray-700{--un-bg-opacity:1;background-color:rgb(55 65 81 / var(--un-bg-opacity))}.bg-white{--un-bg-opacity:1;background-color:rgb(255 255 255 / var(--un-bg-opacity))}.object-cover{object-fit:cover}.p-2{padding:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.pt-6{padding-top:1.5rem}.text-justify{text-align:justify}.text-11px{font-size:11px}.text-12px{font-size:12px}.text-13px{font-size:13px}.text-32px{font-size:32px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-\[var\(--ink-soft\)\]{color:var(--ink-soft)}.text-\[var\(--ink\)\]{color:var(--ink)}.text-\[var\(--muted\)\]{color:var(--muted)}.text-black{--un-text-opacity:1;color:rgb(0 0 0 / var(--un-text-opacity))}.text-gray-500{--un-text-opacity:1;color:rgb(107 114 128 / var(--un-text-opacity))}.text-white{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity))}.font-300{font-weight:300}.font-600{font-weight:600}.leading-none{line-height:1}.tracking-\[0\.02em\]{letter-spacing:.02em}.tracking-\[0\.22em\]{letter-spacing:.22em}.uppercase{text-transform:uppercase}.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}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (min-width: 640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:px-10{padding-left:2.5rem;padding-right:2.5rem}.sm\:py-12{padding-top:3rem;padding-bottom:3rem}}@media (min-width: 768px){.md\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.md\:mb-4{margin-bottom:1rem}.md\:h-52{height:13rem}.md\:w-44{width:11rem}.md\:flex-row{flex-direction:row}.md\:justify-end{justify-content:flex-end}.md\:border{border-width:1px}.md\:rounded-\[var\(--radius-page\)\]{border-radius:var(--radius-page)}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:py-16{padding-top:4rem;padding-bottom:4rem}.md\:text-42px{font-size:42px}}:root{--radius-page: 14px;--radius-card: 10px;--radius-item: 7px;--radius-image: 8px;--radius-badge: 5px;--ink: #16181d;--ink-soft: #4b5563;--muted: #6b7280;--line: #e4e4e7;--line-soft: #f0f0f2;--surface: #ffffff;--surface-sunken: #fafafa;--surface-raised: #ffffff;--ease: cubic-bezier(.22, .61, .36, 1)}body{font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:300;color:var(--ink);background-color:var(--surface-sunken)}h3{font-size:16px;font-weight:500}.hover-wrapper{padding:12px 14px;margin:0 -14px;border-radius:var(--radius-card);background-color:transparent;box-shadow:0 0 #16181d00;transition:transform .28s var(--ease),box-shadow .28s var(--ease),background-color .28s var(--ease),filter .28s var(--ease),opacity .28s var(--ease);will-change:transform}.hover-container:hover .hover-wrapper:not(:hover){filter:blur(4px);opacity:.45}.hover-wrapper:hover{transform:translateY(-3px) scale(1.012);background-color:var(--surface-raised);box-shadow:0 0 0 1px var(--line),0 14px 32px -16px #16181d47}.sub-hover{padding:3px 8px;margin:0 -8px;border-radius:var(--radius-item);transition:opacity .22s var(--ease),background-color .22s var(--ease),color .22s var(--ease)}.sub-hover-container:hover .sub-hover:not(:hover){opacity:.42}.sub-hover-container:hover .sub-hover:hover{background-color:var(--surface-sunken);color:var(--ink)}.bullet-list{list-style:none;padding-left:0}.bullet-list>li{position:relative;padding-left:22px}.bullet-list>li:before{content:"";position:absolute;left:var(--bullet-left, 8px);top:calc(var(--bullet-offset, 0px) + .72em);width:4px;height:4px;border-radius:1px;background-color:currentColor;opacity:.4}.bullet-list>li.sub-hover{--bullet-offset: 3px;padding-left:22px}.bullet-list>li.hover-wrapper{--bullet-offset: 12px;--bullet-left: 14px;padding-left:30px}.badge{display:inline-flex;filter:grayscale(1) opacity(.62);transition:filter .28s var(--ease),transform .28s var(--ease),opacity .28s var(--ease)}.hover-wrapper:hover .badge{filter:grayscale(.45) opacity(.9)}.badge:hover,.hover-wrapper:hover .badge:hover{filter:grayscale(0) opacity(1);transform:translateY(-1px)}.badge-container:hover .badge:not(:hover){filter:grayscale(1) opacity(.4)}.link-effect{position:relative;display:inline-block;transition:color .25s var(--ease),opacity .25s var(--ease)}.link-effect:after{content:"→";position:absolute;right:-15px;opacity:0;transition:opacity .25s var(--ease)}.link-effect:hover{color:var(--ink);opacity:1}.link-effect:hover:after{opacity:.5}.tooltip{max-width:220px;white-space:normal;overflow:hidden;text-overflow:ellipsis;background-color:var(--ink);color:#fff;padding:.5rem .6rem;border-radius:var(--radius-item);position:absolute;left:100%;margin-left:.5rem;display:none;width:100%;z-index:20;font-size:12px;line-height:1.45}.group:hover .tooltip{display:block}.cv-fab{position:fixed;right:1.75rem;bottom:1.75rem;z-index:50;display:inline-flex;align-items:center;gap:.6rem;padding:.75rem 1.15rem;border-radius:var(--radius-image);color:#f4f4f5;font-weight:400;font-size:13px;letter-spacing:.02em;white-space:nowrap;background-color:#232629;box-shadow:0 0 0 1px #ffffff0f inset,0 10px 26px -12px #16181d8c;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background-color .25s var(--ease);will-change:transform}.cv-fab:hover{transform:translateY(-2px);background-color:#16181d;box-shadow:0 0 0 1px #ffffff14 inset,0 16px 32px -12px #16181d99}.cv-fab:active{transform:translateY(0)}.cv-fab:focus-visible{outline:2px solid #232629;outline-offset:3px}.cv-fab__icon{width:18px;height:18px;flex-shrink:0;opacity:.85}.cv-fab__arrow{transition:transform .25s var(--ease)}.cv-fab:hover .cv-fab__arrow{transform:translateY(2px)}@media (max-width: 640px){.cv-fab{right:1rem;bottom:1rem;gap:0;padding:0;width:3rem;height:3rem;justify-content:center;border-radius:var(--radius-card)}.cv-fab__label{display:none}.cv-fab__icon{width:20px;height:20px}}@media (max-width: 640px){.text-justify{text-align:left}}@media (max-width: 768px){.hover-wrapper{margin:0;padding:10px 12px}.bullet-list>li.hover-wrapper{--bullet-offset: 10px;--bullet-left: 12px;padding-left:26px}.hover-container:hover .hover-wrapper:not(:hover){filter:none;opacity:1}.hover-wrapper:hover{transform:none}.sub-hover-container:hover .sub-hover:not(:hover){opacity:1}}@media (prefers-reduced-motion: reduce){.hover-wrapper,.sub-hover,.badge,.cv-fab{transition:none}.hover-wrapper:hover{transform:none}}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-Regular-BCvwfN5l.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-Bold-DYbenGlc.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-Italic-CLUCr1wN.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-BoldItalic-B5zX-gTL.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-Light-C5FdNFFb.ttf) format("truetype");font-weight:300;font-style:normal}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-LightItalic-CupGoqQB.ttf) format("truetype");font-weight:300;font-style:italic}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-Medium-DNBbcQit.ttf) format("truetype");font-weight:500;font-style:normal}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-MediumItalic-D2Z1YNb8.ttf) format("truetype");font-weight:500;font-style:italic}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-SemiBold-CDFRPbvm.ttf) format("truetype");font-weight:600;font-style:normal}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-SemiBoldItalic-DOy1dg1w.ttf) format("truetype");font-weight:600;font-style:italic}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-Thin-DbeflJtK.ttf) format("truetype");font-weight:100;font-style:normal}@font-face{font-family:IBM Plex Mono;src:url(/assets/IBMPlexMono-ThinItalic-wD_8Bp8-.ttf) format("truetype");font-weight:100;font-style:italic}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;background:none;border:none;outline:none}a{text-decoration:none;color:inherit}ul,li{padding-left:14px}img{max-width:100%;height:auto;display:block}button,input{all:unset;appearance:none;-webkit-appearance:none;-moz-appearance:none;border:none;outline:none;background:transparent;font-family:inherit;font-size:inherit;color:inherit;cursor:pointer}button:focus,input:focus{outline:none;box-shadow:none}table{border-collapse:collapse;border-spacing:0}
