.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@font-face{font-family:VCR;src:url(/fonts/VCRosdNEUE.ttf) format("truetype");font-style:normal;font-display:swap}body{font-family:VCR,monospace!important}:root{--site-bg: #000000;--site-text: #ffffff;--nav-bg: rgba(0, 0, 0, .85);--certifications-bg: linear-gradient( to bottom, rgba(0, 0, 0, .7) 5%, rgba(0, 0, 0, 1) 55%, rgba(0, 0, 0, 1) 100% );--toggle-bg: #0a0f0d;--toggle-text: #000000;--toggle-border: rgba(124, 255, 107, .42);--toggle-shadow: rgba(124, 255, 107, .26)}html[data-theme=white]{--site-bg: #f5f5f5;--site-text: #111111;--nav-bg: rgba(245, 245, 245, .9);--certifications-bg: linear-gradient( to bottom, rgba(245, 245, 245, .7) 5%, rgba(245, 245, 245, 1) 55%, rgba(245, 245, 245, 1) 100% );--toggle-bg: #e0e0e0;--toggle-text: #111111;--toggle-border: rgba(0, 0, 0, .18);--toggle-shadow: rgba(0, 0, 0, .15);--btn-border: rgba(0, 0, 0, .25);--btn-hover-bg: rgba(0, 0, 0, .05);--btn-hover-border: rgba(0, 0, 0, .6)}.site-theme{background:var(--site-bg);color:var(--site-text)}.certifications-section{background:var(--certifications-bg)}pre,code{font-family:VCR,monospace!important;font-weight:100}::selection{background:#fff;color:#000}::-moz-selection{background:#fff;color:#000}::-webkit-scrollbar{width:8px}img,.no-selection{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.hero-bg{z-index:-1;width:100vw;word-wrap:break-word;opacity:.02;font-size:3rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.scroll-reveal{opacity:0;filter:blur(6px);transform:translateY(24px);transition:opacity 1.8s cubic-bezier(.16,1,.3,1),filter 1.8s cubic-bezier(.16,1,.3,1),transform 1.8s cubic-bezier(.16,1,.3,1)}.scroll-reveal.visible{opacity:1;filter:blur(0px);transform:translateY(0)}.btn-resume{position:relative;display:inline-flex;align-items:center;justify-content:center;width:10rem;height:3rem;border:1px solid var(--btn-border, rgba(255, 255, 255, .3));border-radius:.5rem;font-size:.875rem;font-weight:500;overflow:hidden;transition:background .3s ease,border-color .3s ease;text-decoration:none}.btn-resume:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(120deg,transparent,rgba(65,245,10,.637),transparent);transition:left .2s}.btn-resume:not(:hover):after{left:150%;transition:left .5s ease}.btn-resume:hover{background:var(--btn-hover-bg, rgba(255, 255, 255, .08));border-color:var(--btn-hover-border, rgba(255, 255, 255, .7))}.btn-resume span{position:absolute;opacity:1;transform:translateY(0);transition:opacity .25s ease,transform .25s ease}.btn-resume:hover span{opacity:0;transform:translateY(6px)}.btn-resume-icon{position:absolute;opacity:0;transform:translateY(6px);transition:opacity .25s ease,transform .25s ease}.btn-resume:hover .btn-resume-icon{opacity:1;transform:translateY(0)}.prose{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif!important;font-weight:400;font-size:1.0625rem;line-height:1.75;letter-spacing:.005em;text-wrap:pretty}.prose p{margin-top:1.1em;margin-bottom:1.1em}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{font-family:VCR,monospace;font-weight:400;line-height:1.25;letter-spacing:.01em;text-wrap:balance;margin-top:1.8em;margin-bottom:.6em}.prose h1{font-size:2.1rem}.prose h2{font-size:1.6rem}.prose h3{font-size:1.3rem}.prose a{text-underline-offset:3px;text-decoration-thickness:1px;transition:color .2s ease,text-decoration-color .2s ease}.prose a:hover{text-decoration-thickness:2px}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin-top:.35em;margin-bottom:.35em}.prose li>p{margin-top:.4em;margin-bottom:.4em}.prose pre,.prose code{font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace!important;font-weight:400}.prose code{font-size:.9em;padding:.15em .4em;border-radius:.3rem;background:#ffffff14}.prose pre{font-size:.9rem;line-height:1.6;padding:1.1rem 1.2rem;border-radius:.6rem}.prose pre code{background:transparent;padding:0;font-size:inherit}.prose blockquote{font-family:Inter,system-ui,sans-serif;font-style:italic;border-left-width:3px;padding-left:1.1em;opacity:.92}.prose table{font-family:Inter,system-ui,sans-serif;font-size:.95rem}html[data-theme=white] .prose code{background:#0000000f}html{scrollbar-width:thin;scrollbar-color:rgba(74,222,128,.4) #032509}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-button{display:none}::-webkit-scrollbar-track{background:#032509;border-radius:99px}::-webkit-scrollbar-thumb{background:#4ade8066;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#16a34a}::-webkit-scrollbar-thumb:active{background:#4ade80}#startup-screen{position:fixed;inset:0;background:#000;z-index:99999;display:flex;align-items:center;justify-content:center;transition:opacity .6s ease,visibility .6s ease}#startup-screen.hidden{opacity:0;visibility:hidden}#startup-text{font-family:VCRosdNEUE,monospace;font-size:1.5rem;color:#2d8653;letter-spacing:.1em}#startup-text:after{content:"|";animation:blink .7s step-end infinite}@keyframes blink{50%{opacity:0}}@keyframes glitch-flicker{0%{opacity:1;transform:translate(0)}2%{opacity:.8;transform:translate(-1px,1px)}4%{opacity:1;transform:translate(1px,-1px)}6%{opacity:.3;transform:translate(0)}8%{opacity:1;transform:translate(1px,1px)}10%{opacity:.7;transform:translate(-1px)}12%{opacity:1;transform:translate(0)}92%{opacity:1;transform:translate(0)}94%{opacity:.4;transform:translate(2px,-1px)}96%{opacity:1;transform:translate(-1px,1px)}98%{opacity:.6;transform:translate(0)}to{opacity:1;transform:translate(0)}}.glitch{animation:glitch-flicker 4.5s infinite}@keyframes panel-wipe-in{0%{transform:translate(-101%)}to{transform:translate(0)}}@keyframes panel-wipe-out{0%{transform:translate(0)}to{transform:translate(101%)}}@keyframes content-reveal{0%{opacity:0}to{opacity:1}}.wipe-reveal{position:relative;opacity:0;overflow:hidden}.wipe-reveal.triggered{animation:content-reveal .2s ease forwards;animation-delay:.55s}.wipe-reveal.triggered:before{content:"";position:absolute;inset:0;background:#1a5c3a;z-index:10;animation:panel-wipe-in .35s cubic-bezier(.76,0,.24,1) forwards,panel-wipe-out .55s cubic-bezier(.76,0,.24,1) forwards .35s}html[data-theme=white] .wipe-reveal.triggered:before{background:#c8c8c8}html[data-theme=white] .blog-prose{--tw-prose-body: #111111;--tw-prose-headings: #111111;--tw-prose-lead: #333333;--tw-prose-links: #111111;--tw-prose-bold: #111111;--tw-prose-counters: #555555;--tw-prose-bullets: #555555;--tw-prose-hr: #111111;--tw-prose-quotes: #111111;--tw-prose-quote-borders: #cccccc;--tw-prose-captions: #555555;--tw-prose-code: #111111;--tw-prose-pre-code: #111111;--tw-prose-pre-bg: #e8e8e8;--tw-prose-th-borders: #cccccc;--tw-prose-td-borders: #dddddd}html[data-theme=white]{scrollbar-color:rgba(0,0,0,.25) #e0e0e0}html[data-theme=white] ::-webkit-scrollbar-track{background:#e0e0e0}html[data-theme=white] ::-webkit-scrollbar-thumb{background:#00000040}html[data-theme=white] ::-webkit-scrollbar-thumb:hover{background:#00000073}html[data-theme=white] ::-webkit-scrollbar-thumb:active{background:#0009}.site-nav[data-astro-cid-5blmo7yk]{background:var(--nav-bg)}.theme-toggle[data-astro-cid-5blmo7yk]{position:relative;width:2.1rem;height:2.1rem;background:var(--toggle-bg);border:1px solid var(--toggle-border);border-radius:999px;display:grid;place-items:center;overflow:hidden;cursor:pointer;color:var(--site-text);transition:transform .22s cubic-bezier(.34,1.56,.64,1),background-color .26s ease,border-color .26s ease,box-shadow .26s ease}.theme-toggle[data-astro-cid-5blmo7yk]:before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle at center,var(--toggle-shadow) 0%,transparent 60%);opacity:0;transform:scale(.4);transition:opacity .38s ease,transform .52s cubic-bezier(.16,1,.3,1);pointer-events:none}.theme-toggle[data-astro-cid-5blmo7yk].toggle-burst:before{opacity:.9;transform:scale(1.2)}.theme-toggle[data-astro-cid-5blmo7yk]:hover{transform:translateY(-1px) scale(1.08);box-shadow:0 8px 22px -10px var(--toggle-shadow)}.theme-toggle[data-astro-cid-5blmo7yk]:active{transform:translateY(0) scale(.94)}.toggle-icon[data-astro-cid-5blmo7yk]{position:absolute;display:grid;place-items:center;width:60%;height:60%;color:var(--site-text);transition:opacity .38s cubic-bezier(.16,1,.3,1),transform .52s cubic-bezier(.34,1.56,.64,1),filter .38s ease;will-change:transform,opacity}.toggle-icon[data-astro-cid-5blmo7yk] svg[data-astro-cid-5blmo7yk]{width:100%;height:100%}.toggle-icon-sun[data-astro-cid-5blmo7yk]{opacity:1;transform:rotate(0) scale(1);filter:drop-shadow(0 0 6px rgba(255,220,120,.55))}.toggle-icon-moon[data-astro-cid-5blmo7yk]{opacity:0;transform:rotate(-140deg) scale(.3)}html[data-theme=white] .toggle-icon-sun[data-astro-cid-5blmo7yk]{opacity:0;transform:rotate(140deg) scale(.3);filter:none}html[data-theme=white] .toggle-icon-moon[data-astro-cid-5blmo7yk]{opacity:1;transform:rotate(0) scale(1);filter:drop-shadow(0 0 4px rgba(40,40,60,.35))}@keyframes toggle-spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.18)}to{transform:rotate(360deg) scale(1)}}.theme-toggle[data-astro-cid-5blmo7yk].toggle-spin{animation:toggle-spin .62s cubic-bezier(.16,1,.3,1)}.footer-binary-wrap[data-astro-cid-sz7xmlte]{height:7rem}.footer-binary[data-astro-cid-sz7xmlte]{color:#3f0;opacity:.12;position:absolute;inset:0;width:100%;height:100%;word-break:break-all;overflow:hidden;line-height:1}html[data-theme=white] .footer-binary[data-astro-cid-sz7xmlte]{color:#1a8a2a;opacity:.22}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
