@import"https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=Inter:wght@400;500;700;900&family=Outfit:wght@300;400;500;600;700&display=swap";:root{--accent: #1e3968;--accent-light: #4171d6;--accent-dark: #152848;--bg-color: #f8f9fa;--bg-secondary: #edf0f5;--text-color: #222;--text-secondary: #555;--border-color: #ddd;--card-bg: white;--code-bg: #f1f1f1;--tag-bg: #e5eeff;--tag-text: #1e3968;--black: 34, 34, 34;--gray: 96, 115, 159;--max-width: 1200px;--content-width: 720px;--header-height: 70px;--border-radius: 8px;--box-shadow: 0 4px 12px rgba(30, 57, 104, .1);--transition: all .3s ease}html{overflow-x:hidden;width:100%}html.dark{--accent: #4171d6;--accent-light: #5c89e8;--accent-dark: #1e3968;--bg-color: #0a1526;--bg-secondary: #152238;--text-color: #eee;--text-secondary: #aaa;--border-color: #1e3968;--card-bg: #0f1d36;--code-bg: #152238;--tag-bg: #2c5296;--tag-text: #ffffff;--box-shadow: 0 4px 12px rgba(0, 0, 0, .5)}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}body{font-family:Outfit,sans-serif;margin:0;padding:0;text-align:left;background:var(--bg-color);color:var(--text-color);font-size:18px;line-height:1.7;transition:var(--transition);overflow-x:hidden;width:100%;box-sizing:border-box}main{width:var(--content-width);max-width:calc(100% - 2em);margin:auto;padding:3em 1em}h1,h2,h3,h4,h5,h6{margin:0 0 .5rem;color:var(--text-color);line-height:1.2;font-family:Space Mono,monospace;letter-spacing:-.03em}h1{font-size:3.052em;margin-bottom:.67em}h2{font-size:2.441em;margin-bottom:.83em}h3{font-size:1.953em;margin-bottom:1em}h4{font-size:1.563em;margin-bottom:1.33em}h5{font-size:1.25em;margin-bottom:1.67em}strong,b{font-weight:700}a{color:var(--accent);text-decoration:none;transition:var(--transition)}a:hover{color:var(--accent-light);text-decoration:underline}.btn{display:inline-block;padding:.75em 1.5em;background-color:var(--accent);color:#fff;text-decoration:none;border-radius:var(--border-radius);font-weight:600;transition:var(--transition);border:none;cursor:pointer;font-family:Outfit,sans-serif}.btn:hover{background-color:var(--accent-dark);transform:translateY(-2px);text-decoration:none;color:#fff}.btn-secondary{background-color:var(--bg-secondary);color:var(--text-color)}.btn-secondary:hover{background-color:var(--border-color);color:var(--text-color)}.btn-disabled{background-color:#9ba8b5;color:#fff;cursor:not-allowed;opacity:.7;position:relative}.btn-disabled:hover{background-color:#9ba8b5;transform:none}.tooltip{position:relative;display:inline-block}.tooltip .tooltip-text{visibility:hidden;width:140px;background-color:#333;color:#fff;text-align:center;border-radius:6px;padding:5px;position:absolute;z-index:1;bottom:125%;left:50%;margin-left:-70px;opacity:0;transition:opacity .3s;font-size:.8rem;font-weight:400}.tooltip .tooltip-text:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#333 transparent transparent transparent}.tooltip:hover .tooltip-text{visibility:visible;opacity:1}p{margin-bottom:1.5em}.prose p{margin-bottom:2em}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.page-content{min-height:calc(100vh - var(--header-height) - 100px)}.card{background:var(--card-bg);border-radius:var(--border-radius);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--box-shadow);transition:var(--transition);border:1px solid var(--border-color)}.card:hover{transform:translateY(-5px);box-shadow:0 8px 24px #00000026}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}code{padding:.2em .4em;background-color:var(--code-bg);border-radius:calc(var(--border-radius) / 2);font-family:Space Mono,monospace;font-size:.9em}pre{padding:1.5em;border-radius:var(--border-radius);background-color:var(--code-bg);overflow-x:auto}pre>code{all:unset;font-family:Space Mono,monospace}blockquote{border-left:4px solid var(--accent);padding:0 0 0 20px;margin:0;font-size:1.2em;color:var(--text-secondary)}hr{border:none;border-top:1px solid var(--border-color);margin:2em 0}textarea{width:100%;font-size:16px;padding:.5em;border-radius:var(--border-radius);border:1px solid var(--border-color);background-color:var(--bg-color);color:var(--text-color);font-family:Outfit,sans-serif}input{font-size:16px;padding:.5em;border-radius:var(--border-radius);border:1px solid var(--border-color);background-color:var(--bg-color);color:var(--text-color);font-family:Outfit,sans-serif}.carousel-container,.skills-carousel-container,.facts-carousel-container{position:relative;padding:0 1rem;margin:2rem 0}.projects-carousel,.skills-carousel,.facts-carousel{display:flex;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;gap:1.5rem;padding:1rem 0}.projects-carousel::-webkit-scrollbar,.skills-carousel::-webkit-scrollbar,.facts-carousel::-webkit-scrollbar{display:none}.carousel-btn,.skills-nav-btn,.facts-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;box-shadow:var(--box-shadow);color:var(--text-color);transition:var(--transition)}.carousel-btn:hover,.skills-nav-btn:hover,.facts-nav-btn:hover{background-color:var(--accent);color:#fff}.carousel-btn.prev-btn,.skills-nav-btn.prev-btn,.facts-nav-btn.prev-btn{left:-20px}.carousel-btn.next-btn,.skills-nav-btn.next-btn,.facts-nav-btn.next-btn{right:-20px}.skills-indicator,.facts-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.indicator,.fact-dot{width:10px;height:10px;border-radius:50%;background-color:var(--bg-secondary);cursor:pointer;transition:var(--transition)}.indicator.active,.fact-dot.active{background-color:var(--accent);transform:scale(1.2)}.mission-tagline{font-size:1rem!important;margin-top:.5rem!important;color:var(--text-secondary)}.project-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;z-index:1000;overflow-y:auto;padding:2rem 0}.modal-content{background-color:var(--card-bg);margin:0 auto;max-width:800px;width:90%;border-radius:var(--border-radius);position:relative;animation:modalFadeIn .3s}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.close-modal{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;cursor:pointer;color:var(--text-color);z-index:10}.modal-body{padding:2rem}.project-card{border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden;display:flex;flex-direction:column;transition:var(--transition);background-color:var(--card-bg)}.project-card:hover{transform:translateY(-5px);box-shadow:var(--box-shadow)}.project-image{width:100%;height:200px;object-fit:cover}.project-content{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column}.project-title{margin-top:0;margin-bottom:.5rem;color:var(--accent);font-weight:600}.project-description{flex-grow:1;margin-bottom:1rem}.project-metrics{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.metric{display:flex;align-items:center;gap:.5rem;background-color:var(--bg-secondary);padding:.25rem .5rem;border-radius:calc(var(--border-radius) / 2);font-size:.85rem}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tag{background-color:var(--tag-bg);color:var(--tag-text);padding:.25rem .5rem;border-radius:calc(var(--border-radius) / 2);font-size:.85rem}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mt-5{margin-top:2.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.mb-5{margin-bottom:2.5rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .5s ease-in-out}.sr-only{border:0;padding:0;margin:0;position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}@media (max-width: 720px){body{font-size:16px}main{padding:1em}h1{font-size:2.5em}h2{font-size:2em}h3{font-size:1.5em}.grid{grid-template-columns:1fr}.carousel-btn.prev-btn,.skills-nav-btn.prev-btn,.facts-nav-btn.prev-btn{left:5px}.carousel-btn.next-btn,.skills-nav-btn.next-btn,.facts-nav-btn.next-btn{right:5px}.carousel-container,.skills-carousel-container,.facts-carousel-container{padding:0}.projects-carousel,.skills-carousel,.facts-carousel{scroll-snap-type:x mandatory}.project-card,.skill-category,.fact-card{scroll-snap-align:center;min-width:280px}}@keyframes typewriter-blink{0%,to{opacity:1}50%{opacity:0}}.typewriter-cursor{display:inline-block;margin-left:1px;font-weight:400;color:var(--accent, #6c5ce7)}[data-typewriter=true]{visibility:visible}.typewriter-text{position:relative;display:inline-block}header[data-astro-cid-3ef6ksr2]{margin:0;padding:0 1em;background:var(--bg-color);box-shadow:0 2px 8px rgba(var(--black),5%);transition:background-color .3s ease}h2[data-astro-cid-3ef6ksr2]{margin:0;font-size:1.5em;font-weight:700}h2[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2],h2[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active{text-decoration:none;color:var(--text-color)}nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;padding:1em 0}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:.5em;color:var(--text-color);border-bottom:2px solid transparent;text-decoration:none;font-weight:500;transition:all .2s ease}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{border-bottom-color:var(--accent);transform:translateY(-2px)}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active{text-decoration:none;border-bottom-color:var(--accent)}.social-links[data-astro-cid-3ef6ksr2],.social-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{display:flex;align-items:center}.social-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{margin-left:.5em}.social-links[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{transform:scale(1.1)}.theme-toggle[data-astro-cid-3ef6ksr2]{background:none;border:none;cursor:pointer;padding:0;margin-left:.5em;color:var(--text-color)}.theme-toggle[data-astro-cid-3ef6ksr2] svg[data-astro-cid-3ef6ksr2]{width:30px;height:30px}.theme-toggle[data-astro-cid-3ef6ksr2] .sun[data-astro-cid-3ef6ksr2]{fill:var(--text-color)}.theme-toggle[data-astro-cid-3ef6ksr2] .moon[data-astro-cid-3ef6ksr2],.dark .theme-toggle[data-astro-cid-3ef6ksr2] .sun[data-astro-cid-3ef6ksr2]{fill:transparent}.dark .theme-toggle[data-astro-cid-3ef6ksr2] .moon[data-astro-cid-3ef6ksr2]{fill:var(--text-color)}@media (max-width: 720px){.social-links[data-astro-cid-3ef6ksr2]{display:flex}nav[data-astro-cid-3ef6ksr2]{flex-direction:column;align-items:center;gap:1em}.internal-links[data-astro-cid-3ef6ksr2]{order:3;display:flex;justify-content:center;width:100%}.social-links[data-astro-cid-3ef6ksr2]{order:2}}footer[data-astro-cid-sz7xmlte]{padding:3rem 1rem 2rem;background-color:var(--bg-secondary);color:var(--text-color)}.footer-content[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;max-width:var(--max-width);margin:0 auto;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.footer-logo[data-astro-cid-sz7xmlte]{font-family:Space Mono,monospace;font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:var(--accent)}.footer-info[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{color:var(--text-secondary);margin-bottom:1rem}.footer-nav[data-astro-cid-sz7xmlte],.footer-social[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column}.footer-nav[data-astro-cid-sz7xmlte] h3[data-astro-cid-sz7xmlte],.footer-social[data-astro-cid-sz7xmlte] h3[data-astro-cid-sz7xmlte]{font-size:1.1rem;margin-bottom:1rem}.footer-nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{margin-bottom:.5rem;color:var(--text-secondary);text-decoration:none;transition:var(--transition)}.footer-nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--accent);transform:translate(5px)}.social-links[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:.5rem}.social-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);text-decoration:none;transition:var(--transition)}.social-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--accent);transform:translate(5px)}.footer-bottom[data-astro-cid-sz7xmlte]{display:flex;justify-content:space-between;max-width:var(--max-width);margin:0 auto;padding-top:1.5rem;font-size:.9rem;color:var(--text-secondary);flex-wrap:wrap;gap:1rem}@media (max-width: 600px){.footer-bottom[data-astro-cid-sz7xmlte]{flex-direction:column;align-items:center;text-align:center}}
