.app{min-height:100vh;max-width:900px;margin:0 auto;padding:0 2rem}nav{display:flex;gap:2rem;padding:2rem 0;border-bottom:1px solid #e0e0e0}nav a{color:#333;text-decoration:none;transition:opacity .3s}nav a:hover{opacity:.6}.hero{padding:6rem 0;text-align:center}.hero h1{font-size:3rem;font-weight:300;margin-bottom:1rem}.highlight{color:#333;font-weight:600}.hero p{font-size:1.2rem;color:#666;margin:.5rem 0}.section{padding:4rem 0;border-bottom:1px solid #f0f0f0}.section:last-of-type{border-bottom:none}.section h2{font-size:2rem;font-weight:400;margin-bottom:1.5rem}.section p{color:#666;line-height:1.6}.about-intro{margin-bottom:3rem}.tech-stack{display:flex;flex-direction:column;gap:2.5rem}.tech-category h3{font-size:1.1rem;font-weight:500;margin-bottom:1rem;color:#333}.tech-tags{display:flex;flex-wrap:wrap;gap:.75rem}.tech-tag{display:inline-block;padding:.5rem 1rem;background-color:#f5f5f5;border:1px solid #e0e0e0;border-radius:20px;font-size:.9rem;color:#333;transition:all .3s ease;cursor:default}.tech-tag:hover{background-color:#333;color:#fff;transform:translateY(-2px);box-shadow:0 2px 8px #00000026}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2rem;margin-top:2rem}.project-card{padding:1.5rem;border:1px solid #e0e0e0;border-radius:8px;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;height:100%}.project-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #0000001a}.project-card h3{margin-bottom:.5rem;font-weight:500}.project-card>p{font-size:.9rem;color:#666;margin:.5rem 0;word-wrap:break-word;overflow-wrap:break-word;line-height:1.5;flex:1}.project-stack{font-size:.85rem;color:#888;font-style:italic;margin-top:auto;padding-top:1rem}.social-links{display:flex;gap:2rem;margin-top:1rem}.social-links a{color:#333;text-decoration:none;transition:opacity .3s}.social-links a:hover{opacity:.6}footer{text-align:center;padding:3rem 0;color:#999;font-size:.9rem}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.app.loaded .fade-in{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.2s}.delay-2{transition-delay:.4s}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;line-height:1.6}a{color:#333}
