@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 222.2 84% 4.9%;--radius: .5rem}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:hsl(var(--foreground));background:hsl(var(--background));overflow-x:hidden}#app{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.icon{width:1rem;height:1rem;margin-right:.5rem}.hero-badge .icon{width:1rem;height:1rem}.header{position:fixed;top:0;width:100%;background:hsla(var(--background) / .8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid hsl(var(--border));z-index:1000}.nav-container{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;justify-content:space-between;align-items:center;height:4rem}.nav-brand{font-weight:600;font-size:1.25rem;color:hsl(var(--foreground))}.nav-menu{display:flex;list-style:none;gap:2rem}.nav-link{color:hsl(var(--muted-foreground));text-decoration:none;font-weight:500;transition:color .2s;position:relative}.nav-link:hover,.nav-link.active{color:hsl(var(--foreground))}.nav-link:after{content:"";position:absolute;bottom:-.5rem;left:0;width:0;height:2px;background:hsl(var(--primary));transition:width .2s}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-toggle{display:none;flex-direction:column;gap:.25rem;background:none;border:none;cursor:pointer}.nav-toggle span{width:1.5rem;height:2px;background:hsl(var(--foreground));transition:all .3s}.hero{min-height:100vh;display:flex;align-items:center;padding:5rem 1rem 1rem;background:linear-gradient(135deg,hsl(var(--background)),hsl(var(--muted)))}.hero-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:hsl(var(--accent));border:1px solid hsl(var(--border));border-radius:var(--radius);font-size:.875rem;font-weight:500;margin-bottom:1.5rem}.hero-title{font-size:3.5rem;font-weight:700;line-height:1.1;margin-bottom:1.5rem;color:hsl(var(--foreground))}.hero-name{background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--accent)));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.5rem;color:hsl(var(--muted-foreground));margin-bottom:1rem}.hero-description{font-size:1.125rem;color:hsl(var(--muted-foreground));margin-bottom:2rem;max-width:500px}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}.hero-visual{display:flex;justify-content:center;align-items:center}.hero-card{width:300px;height:200px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.5rem;box-shadow:0 10px 25px -5px hsla(var(--foreground) / .1);position:relative;overflow:hidden}.hero-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--accent)))}.code-line{height:8px;background:hsl(var(--muted));border-radius:4px;margin-bottom:.5rem}.code-line:nth-child(1){width:80%}.code-line:nth-child(2){width:60%}.code-line:nth-child(3){width:90%}.typed-text{color:hsl(var(--primary));font-weight:600;display:block;width:fit-content;max-width:100%;position:relative;padding-right:.6rem;margin-top:.5rem;margin-bottom:2rem;min-height:1.75rem;min-width:1ch;white-space:nowrap;line-height:1.75rem}.typed-text:after{content:"";position:absolute;top:50%;transform:translateY(-50%);right:0;width:2px;height:1.2em;background:hsla(var(--primary));animation:blink-caret .9s steps(1) infinite}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:var(--radius);font-weight:500;text-decoration:none;transition:all .2s;cursor:pointer;border:1px solid transparent;font-size:.875rem}.btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn-primary:hover{background:hsl(var(--primary) / .9);transform:translateY(-1px)}.btn-secondary{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}.btn-secondary:hover{background:hsl(var(--secondary) / .8);transform:translateY(-1px)}.btn-outline{background:transparent;color:hsl(var(--foreground));border-color:hsl(var(--border))}.btn-outline:hover{background:hsl(var(--accent))}.btn-ghost{background:transparent;color:hsl(var(--muted-foreground))}.btn-ghost:hover{background:hsl(var(--accent));color:hsl(var(--foreground))}.btn-full{width:100%}.section{padding:6rem 1rem;scroll-margin-top:4rem}.section-alt{background:hsl(var(--muted) / .5)}.section-header{text-align:center;margin-bottom:4rem}.section-title{font-size:2.5rem;font-weight:700;color:hsl(var(--foreground));margin-bottom:1rem}.section-subtitle{font-size:1.125rem;color:hsl(var(--muted-foreground));max-width:600px;margin:0 auto}.about-content{max-width:800px;margin:0 auto}.about-description{font-size:1.125rem;color:hsl(var(--muted-foreground));margin-bottom:2rem;text-align:center}.skills{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.skill-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);font-size:.875rem;font-weight:500}.skill-icon{width:1.25rem;height:1.25rem}.proyectos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.proyecto-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.5rem;transition:all .2s}.proyecto-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px hsla(var(--foreground) / .1)}.proyecto-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.proyecto-icon{width:2rem;height:2rem}.proyecto-title{font-size:1.25rem;font-weight:600;color:hsl(var(--foreground))}.proyecto-description{color:hsl(var(--muted-foreground));margin-bottom:1rem}.proyecto-tech{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.tech-tag{padding:.25rem .75rem;background:hsl(var(--accent));color:hsl(var(--accent-foreground));border-radius:calc(var(--radius) - 2px);font-size:.75rem;font-weight:500}.proyecto-actions{display:flex;gap:.75rem}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-bottom:3rem}.contact-info{display:flex;flex-direction:column;gap:2rem}.contact-item{display:flex;align-items:center;gap:1rem}.contact-icon{width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;background:hsl(var(--accent));border-radius:var(--radius)}.contact-details h3{font-size:1.125rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.25rem}.contact-details p{color:hsl(var(--muted-foreground))}.form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-weight:500;color:hsl(var(--foreground));font-size:.875rem}.form-input,.form-textarea{padding:.75rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--background));color:hsl(var(--foreground));font-size:.875rem;transition:border-color .2s}.form-input:focus,.form-textarea:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsla(var(--ring) / .2)}.form-textarea{resize:vertical;min-height:100px}.social-links{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.social-link{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));text-decoration:none;font-weight:500;transition:all .2s}.social-link:hover{background:hsl(var(--accent));transform:translateY(-1px)}.social-icon{width:1.25rem;height:1.25rem}.footer{background:hsl(var(--muted) / .5);border-top:1px solid hsl(var(--border));padding:2rem 1rem}.footer p{text-align:center;color:hsl(var(--muted-foreground));font-size:.875rem}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease var(--reveal-delay, 0ms),transform .6s ease var(--reveal-delay, 0ms)}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes blink-caret{0%,to{opacity:0}50%{opacity:1}}@media (max-width: 768px){.nav-menu{position:fixed;top:4rem;left:0;right:0;background:hsl(var(--background));border-bottom:1px solid hsl(var(--border));flex-direction:column;padding:1rem;gap:1rem;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s}.nav-menu.active{transform:translateY(0);opacity:1;visibility:visible}.nav-toggle{display:flex}.hero{padding:1rem;min-height:auto}.hero-container{grid-template-columns:1fr;gap:2rem;text-align:center}.hero-content{padding-bottom:1rem}.hero-title{font-size:2.5rem}.hero-actions{justify-content:center;margin-bottom:4rem}.hero-visual{order:-1}.contact-content{grid-template-columns:1fr;gap:2rem}.proyectos-grid{grid-template-columns:1fr}.skills{justify-content:center}}@media (max-width: 480px){.hero-title,.section-title{font-size:2rem}.hero-actions{flex-direction:column;width:100%}.btn{width:100%}}
