@import"https://fonts.googleapis.com/css2?family=Geist:wght@100..900&family=Geist+Mono:wght@100..900&display=swap";:root{--background: #0a0a0a;--foreground: #f5f5f5;--card: #1a1a1a;--card-foreground: #f5f5f5;--popover: #0a0a0a;--popover-foreground: #f5f5f5;--primary: #f5f5f5;--primary-foreground: #0a0a0a;--secondary: #1a1a1a;--secondary-foreground: #f5f5f5;--muted: #2a2a2a;--muted-foreground: #888888;--accent: #00ff41;--accent-foreground: #0a0a0a;--destructive: #ff3333;--destructive-foreground: #f5f5f5;--border: #2a2a2a;--input: #1a1a1a;--ring: #00ff41;--chart-1: #00ff41;--chart-2: #00cc33;--chart-3: #00aa2a;--chart-4: #00ff41;--chart-5: #00cc33;--radius: .625rem;--sidebar: #1a1a1a;--sidebar-foreground: #f5f5f5;--sidebar-primary: #f5f5f5;--sidebar-primary-foreground: #0a0a0a;--sidebar-accent: #00ff41;--sidebar-accent-foreground: #0a0a0a;--sidebar-border: #2a2a2a;--sidebar-ring: #00ff41}.dark{--background: #0a0a0a;--foreground: #f5f5f5;--card: #1a1a1a;--card-foreground: #f5f5f5;--popover: #0a0a0a;--popover-foreground: #f5f5f5;--primary: #f5f5f5;--primary-foreground: #0a0a0a;--secondary: #1a1a1a;--secondary-foreground: #f5f5f5;--muted: #2a2a2a;--muted-foreground: #888888;--accent: #00ff41;--accent-foreground: #0a0a0a;--destructive: #ff3333;--destructive-foreground: #f5f5f5;--border: #2a2a2a;--input: #1a1a1a;--ring: #00ff41;--chart-1: #00ff41;--chart-2: #00cc33;--chart-3: #00aa2a;--chart-4: #00ff41;--chart-5: #00cc33;--radius: .625rem;--sidebar: #1a1a1a;--sidebar-foreground: #f5f5f5;--sidebar-primary: #f5f5f5;--sidebar-primary-foreground: #0a0a0a;--sidebar-accent: #00ff41;--sidebar-accent-foreground: #0a0a0a;--sidebar-border: #2a2a2a;--sidebar-ring: #00ff41}*{box-sizing:border-box}html{font-family:Geist,sans-serif}body{margin:0;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none}.sticky{position:sticky}.top-0{top:0}.z-50{z-index:50}.bg-background-80{background-color:#0a0a0acc}.backdrop-blur-sm{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.border-b{border-bottom:1px solid var(--border)}.border-border{border-color:var(--border)}.border-t{border-top:1px solid var(--border)}.max-w-4xl{max-width:56rem}.max-w-2xl{max-width:42rem}.mx-auto{margin-left:auto;margin-right:auto}.px-2{padding-left:.5rem;padding-right:.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-24{padding-top:6rem;padding-bottom:6rem}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.block{display:block}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-12{gap:3rem}.space-y-3>*+*{margin-top:.75rem}.space-y-6>*+*{margin-top:1.5rem}.w-5{width:1.25rem}.h-5{height:1.25rem}.w-fit{width:fit-content}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-5xl{font-size:3rem;line-height:1}.text-balance{text-wrap:balance}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-light{font-weight:300}.font-medium{font-weight:500}.tracking-tight{letter-spacing:-.025em}.leading-relaxed{line-height:1.625}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}.pt-4{padding-top:1rem}.pt-8{padding-top:2rem}.p-6{padding:1.5rem}.bg-background{background-color:var(--background)}.bg-accent{background-color:var(--accent)}.bg-secondary{background-color:var(--secondary)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-foreground{color:var(--foreground)}.text-accent{color:var(--accent)}.text-accent-foreground{color:var(--accent-foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-card-foreground{color:var(--card-foreground)}.border{border:1px solid var(--border)}.border-accent{border-color:var(--accent)}.rounded-sm{border-radius:.125rem}.transition-colors{transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.transition-opacity{transition:opacity .15s ease-in-out}.hover\:opacity-90:hover{opacity:.9}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-accent:hover{color:var(--accent)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.min-h-screen{min-height:100vh}.font-sans{font-family:Geist,sans-serif}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (min-width: 768px){.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.group:hover .group-hover\:text-accent{color:var(--accent)}.hero-section{max-width:56rem;margin-left:auto;margin-right:auto;padding:6rem 1.5rem}@media (min-width: 768px){.hero-section{padding-top:8rem;padding-bottom:8rem}}.hero-content>*+*{margin-top:1.5rem}.hero-title{font-size:3rem;line-height:1;font-weight:300;letter-spacing:-.025em;text-wrap:balance}@media (min-width: 768px){.hero-title{font-size:3.75rem}}.hero-role{color:var(--accent);animation:fade-in .5s ease-in-out}.hero-description{font-size:1.125rem;line-height:1.75rem;color:var(--muted-foreground);max-width:42rem;line-height:1.625}.hero-buttons{display:flex;gap:1rem;padding-top:1rem}.hero-button-primary,.hero-button-secondary{padding:.5rem 1.5rem;border-radius:.5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;border-radius:6px;transition:opacity .15s ease-in-out;cursor:pointer}.hero-button-primary{background-color:var(--accent);color:var(--accent-foreground);border:none}.hero-button-primary:hover{opacity:.9}.hero-button-secondary{background-color:transparent;border:1px solid var(--accent);color:var(--accent);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.hero-button-secondary:hover{background-color:var(--accent);color:var(--accent-foreground)}.hero-links{display:flex;gap:1.5rem;padding-top:2rem}.hero-link{font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.hero-link:hover{color:var(--accent)}.header{position:sticky;top:0;z-index:50;background-color:#0a0a0acc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-bottom:1px solid var(--border)}.header-nav{max-width:56rem;margin-left:auto;margin-right:auto;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.header-logo{font-size:1.25rem;line-height:1.75rem;font-weight:300;letter-spacing:-.025em}.header-menu{display:flex;gap:1.8rem}@media (max-width: 767px){.header-menu{gap:.9rem}.header-link{font-size:.75rem;padding:.25rem .5rem}.header-logo{font-size:1rem}}.header-link{font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground);background-color:transparent;border:none;cursor:pointer;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.header-link-active{color:var(--accent);font-weight:500}.header-link-inactive{color:var(--muted-foreground)}.header-link-inactive:hover{color:var(--accent)}.about-section{max-width:56rem;margin-left:auto;margin-right:auto;padding:6rem 1.5rem;border-top:1px solid var(--border)}.about-grid{display:grid;gap:3rem}@media (min-width: 768px){.about-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.about-title{font-size:1.875rem;line-height:2.25rem;font-weight:300;letter-spacing:-.025em;margin-bottom:1.5rem}.about-text{color:var(--muted-foreground);line-height:1.625;margin-bottom:1rem}.about-text:last-child{margin-bottom:0}.about-subtitle{font-size:1.125rem;line-height:1.75rem;font-weight:500;margin-bottom:1rem}.about-skills>*+*{margin-top:.75rem}.about-skill-category{font-size:.875rem;line-height:1.25rem;font-weight:500;color:var(--accent);margin-bottom:.5rem}.about-skill-list{font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground)}.projects-section{max-width:56rem;margin-left:auto;margin-right:auto;padding:6rem 1.5rem;border-top:1px solid var(--border)}.projects-title{font-size:1.875rem;line-height:2.25rem;font-weight:300;letter-spacing:-.025em;margin-bottom:3rem}.projects-list>*+*{margin-top:2rem}.project-card{display:block;padding:1.5rem;border:1px solid var(--border);border-radius:.5rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.project-card:hover{border-color:var(--accent)}.project-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem}.project-title{font-size:1.25rem;line-height:1.75rem;font-weight:500;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.project-card:hover .project-title{color:var(--accent)}.view-more{font-size:1.125rem;line-height:1.75rem;font-weight:500;color:var(--muted-foreground);text-align:center;margin-top:2rem;cursor:pointer;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.view-more:hover{color:var(--accent)}.project-links{display:flex;gap:.75rem}.project-link{color:var(--muted-foreground);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.project-link:hover{color:var(--accent)}.project-icon{width:1.25rem;height:1.25rem}.project-description{color:var(--muted-foreground);margin-bottom:1rem;line-height:1.625}.project-tags{display:flex;gap:.5rem;flex-wrap:wrap}.project-tag{font-size:.75rem;line-height:1rem;padding:.25rem .5rem;background-color:var(--secondary);color:var(--secondary-foreground);border-radius:.5rem}.contact-section{max-width:56rem;margin-left:auto;margin-right:auto;padding:6rem 1.5rem;border-top:1px solid var(--border)}.contact-content{max-width:42rem}.contact-title{font-size:1.875rem;line-height:2.25rem;font-weight:300;letter-spacing:-.025em;margin-bottom:1.5rem}.contact-text{color:var(--muted-foreground);margin-bottom:2rem;line-height:1.625}.contact-buttons{display:flex;flex-direction:column;gap:1rem}.contact-button-primary,.contact-button-secondary{display:inline-flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;border-radius:6px;font-weight:500;width:fit-content;background-color:var(--background);color:var(--accent);border:1px solid var(--accent);transition:opacity .15s ease-in-out}.contact-button-primary{background-color:var(--accent);color:var(--accent-foreground);border:1px solid var(--accent)}.contact-button-primary:hover{opacity:.9}.contact-button-secondary{background-color:var(--background);color:var(--accent);border:1px solid var(--accent)}.contact-button-secondary:hover{background-color:var(--accent);color:var(--accent-foreground)}.contact-icon{width:1.25rem;height:1.25rem}.footer{border-top:1px solid var(--border);background-color:var(--background)}.footer-content{max-width:56rem;margin-left:auto;margin-right:auto;padding:3rem 1.5rem}.footer-layout{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1.5rem}@media (min-width: 768px){.footer-layout{flex-direction:row}}.footer-text{font-size:.875rem;line-height:1.25rem;color:var(--muted-foreground)}.footer-links{display:flex;gap:1.5rem}.footer-link{font-size:.875rem;line-height:1.25rem;color:var(--accent);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.footer-link:hover{color:var(--foreground)}.app{min-height:100vh;background-color:var(--background);color:var(--foreground);font-family:Geist,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
