:root{--bg-primary: #0a0a1a;--bg-card: rgba(255, 255, 255, .04);--bg-card-hover: rgba(255, 255, 255, .08);--text-primary: rgba(255, 255, 255, .92);--text-secondary: rgba(255, 255, 255, .55);--text-muted: rgba(255, 255, 255, .35);--accent-purple: #a78bfa;--accent-cyan: #22d3ee;--accent-gradient: linear-gradient(135deg, #a78bfa 0%, #22d3ee 100%);--glass-border: rgba(255, 255, 255, .08);--glass-border-hover: rgba(255, 255, 255, .18);--glass-blur: 12px;--glass-shadow: 0 8px 32px rgba(0, 0, 0, .4);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Comfortaa", sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1);font-family:var(--font-body);line-height:1.6;font-weight:400;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-height:100vh;overflow-x:hidden;background-color:var(--bg-primary)}a{color:var(--accent-purple);text-decoration:none;transition:color .2s var(--ease-out)}a:hover{color:var(--accent-cyan)}h1,h2,h3,h4,h5,h6{line-height:1.1;font-weight:700}img{max-width:100%;height:auto}#root{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-xl)}.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;gap:var(--space-lg);padding:var(--space-3xl) 0}.hero-name{font-family:var(--font-display);font-size:clamp(3rem,10vw,7rem);font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em;cursor:default;-webkit-user-select:none;user-select:none}.hero-tagline{font-size:clamp(1rem,2.5vw,1.25rem);color:var(--text-secondary);font-weight:300;letter-spacing:.15em;text-transform:lowercase}.hero-astronaut{width:clamp(120px,20vw,200px);margin-top:var(--space-xl);filter:drop-shadow(0 0 40px rgba(167,139,250,.3));pointer-events:none}.hero-socials{display:flex;gap:var(--space-lg);margin-top:var(--space-md)}.hero-socials a{color:var(--text-muted);transition:color .3s var(--ease-out),transform .3s var(--ease-out);display:flex;align-items:center}.hero-socials a:hover{color:var(--text-primary);transform:translateY(-2px)}.hero-socials svg{width:22px;height:22px;fill:currentColor}.scroll-indicator{position:absolute;bottom:var(--space-2xl);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);color:var(--text-muted);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase}.scroll-indicator-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--text-muted),transparent);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.3)}}.projects-section{padding:var(--space-4xl) 0}.projects-header{margin-bottom:var(--space-3xl)}.projects-label{font-size:.8rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-purple);margin-bottom:var(--space-sm)}.projects-title{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:700;color:var(--text-primary)}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.footer{text-align:center;padding:var(--space-3xl) 0 var(--space-xl);color:var(--text-muted);font-size:.8rem;border-top:1px solid var(--glass-border)}.footer a{color:var(--text-secondary)}.attr{display:none}@media (max-width: 900px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 580px){#root{padding:0 var(--space-md)}.projects-grid{grid-template-columns:1fr}.hero{min-height:85vh}}.stars{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:-1;pointer-events:none}.star{position:absolute;background:#ffffffb3;border-radius:50%;animation:twinkle 10s infinite}@keyframes twinkle{0%,to{opacity:.6}50%{opacity:.1}}.project-card{position:relative;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-xl);cursor:pointer;overflow:hidden;display:flex;flex-direction:column;gap:var(--space-md);transition:background .4s var(--ease-out),border-color .4s var(--ease-out);text-decoration:none;color:inherit;min-height:200px}.project-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-lg);padding:1px;background:var(--accent-gradient);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s var(--ease-out);pointer-events:none}.project-card:hover:before{opacity:1}.project-card:hover{background:var(--bg-card-hover);border-color:transparent}.project-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md)}.project-card-name{font-size:1.25rem;font-weight:700;color:var(--text-primary);line-height:1.3}.project-card-arrow{flex-shrink:0;width:20px;height:20px;color:var(--text-muted);transition:color .3s var(--ease-out),transform .3s var(--ease-out)}.project-card:hover .project-card-arrow{color:var(--accent-cyan);transform:translate(3px,-3px)}.project-card-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.project-card-tag{font-size:.7rem;font-weight:500;letter-spacing:.05em;color:var(--text-muted);background:#ffffff0d;padding:2px 8px;border-radius:100px;border:1px solid rgba(255,255,255,.06)}.project-card:hover .project-card-tag{color:var(--text-secondary);border-color:#ffffff1a}.project-card-description{font-size:.875rem;line-height:1.6;color:var(--text-secondary);flex-grow:1}.project-card-image-wrapper{width:100%;height:140px;border-radius:var(--radius-sm);overflow:hidden;margin-top:auto;opacity:.7;transition:opacity .4s var(--ease-out)}.project-card:hover .project-card-image-wrapper{opacity:1}.project-card-image{width:100%;height:100%;object-fit:cover;object-position:top left}
