:root{--bg-page: #0a1023;--bg-card: rgba(5, 8, 22, .25);--text-main: #e5e7eb;--text-muted: #9ca3af;--accent-blue: #8ab4ff;--accent-sky: #38bdf8;--accent-indigo: #818cf8;--border-subtle: rgba(148, 163, 184, .35)}.App{min-height:100vh;background:var(--bg-page);color:var(--text-main);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.hero{position:relative;min-height:85vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg-section);overflow:hidden}.hero-content{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;gap:1rem;padding:2rem 2.5rem;border-radius:1rem;background:var(--bg-card);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 18px 45px #0009}.hero-background{position:absolute;top:0;left:0;width:100%;height:min(100vh,900px);background-image:linear-gradient(to bottom,rgba(0,0,0,0) 65%,var(--bg-page) 100%),url(/images/header-bg.png);background-size:100% auto;background-position:center top;background-repeat:no-repeat;z-index:0;overflow:hidden}.hero-profile img{width:140px;height:140px;border-radius:50%;object-fit:cover;background:#222}.hero-name{font-size:2.2rem;letter-spacing:.05em}.hero-name-divider{width:160px;height:2px;margin:0 auto;background:#ffffff80}.hero-tagline{font-size:1rem;opacity:.9}.hero-socials{display:flex;justify-content:center;gap:1rem;font-size:.9rem}.hero-scroll-indicator{margin-top:1.5rem;font-size:.9rem;opacity:.7}.about{min-height:60vh;padding:2.5rem 2rem;background:var(--bg-section);display:flex;justify-content:center}.about-content{max-width:720px}.about-title{font-size:1.8rem;margin-bottom:1rem}.about-text{font-size:1rem;line-height:1.6;margin-bottom:2rem;opacity:.9}.about-tech-title{font-size:1.2rem;margin-bottom:.75rem}.about-tech-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;font-size:.95rem;opacity:.95}.projects{padding:2.5rem 2rem;background:var(--bg-section);display:flex;justify-content:center}.projects-inner{max-width:960px;width:100%}.projects-title{font-size:1.8rem;margin-bottom:2rem}.projects-list{display:flex;flex-direction:column;gap:2.5rem}.project-item{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2rem;align-items:center}.project-text{display:flex;flex-direction:column;gap:.75rem}.project-name{font-size:1.4rem}.project-description{font-size:.98rem;line-height:1.6;opacity:.9}.project-tech{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.9rem;opacity:.9}.project-link{margin-top:.5rem;font-size:.9rem;color:var(--accent-blue)}.project-link:hover{text-decoration:underline}.project-image{display:flex;justify-content:center}.project-image-placeholder{width:100%;max-width:260px;aspect-ratio:4 / 3;border-radius:1rem;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:.8rem;opacity:.8}.project-highlights{list-style:none;padding:0;margin-top:.75rem;display:flex;flex-direction:column;gap:.4rem}.project-highlights li{font-size:.85rem;padding:.4rem .65rem;border-radius:6px;background:#94a3b81a;border:1px solid rgba(148,163,184,.25);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);width:fit-content;color:var(--text-main);letter-spacing:.015em;transition:background .2s ease,border-color .2s ease,transform .18s ease,box-shadow .2s ease}.project-highlights li:hover{background:#38bdf81f;border-color:#38bdf859;box-shadow:0 0 8px #38bdf840;transform:translateY(-2px)}.blog{padding:4rem 2rem 5rem;background:var(--bg-section);display:flex;justify-content:center}.blog-inner{max-width:720px;width:100%}.blog-title{font-size:1.8rem;margin-bottom:2rem}.blog-list{display:flex;flex-direction:column;gap:1.5rem}.blog-post{padding:1.25rem 1.5rem;border-radius:.9rem;background:#0f172acc;border:1px solid rgba(56,189,248,.2);box-shadow:0 0 8px #38bdf826;opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out,box-shadow .22s ease,border-color .2s ease,background .2s ease}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.25s}.delay-3{transition-delay:.4s}.blog-post:hover{background:#38bdf81f;border-color:#38bdf859;box-shadow:0 0 8px #38bdf840;transform:translateY(-2px)}.blog-post-header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.4rem}.blog-post-title{font-size:1.05rem}.blog-post-date{font-size:.8rem;opacity:.7}.blog-post-preview{font-size:.92rem;line-height:1.6;opacity:.9}.blog-footer{margin-top:2rem;display:flex;justify-content:center}.blog-all-button{padding:.6rem 1.5rem;border-radius:999px;border:1px solid rgba(148,163,184,.7);background:transparent;color:var(--text-main);font-size:.9rem;cursor:pointer}.blog-all-button:hover{background:#94a3b826}.blog-post-disabled{cursor:default;opacity:.6;pointer-events:none}.footer{padding:4rem 2rem 2.5rem;background-image:linear-gradient(to bottom,var(--bg-page) 0%,rgba(5,8,22,0) 50%),url(/images/footer-bg.png);background-size:cover;background-position:center bottom;background-repeat:no-repeat;position:relative;color:#fff;overflow:hidden;opacity:0;transform:translateY(40px);transition:opacity .8s ease-out,transform .8s ease-out}.footer *{text-shadow:0 1px 3px rgba(0,0,0,.75)}.footer-inner{background:var(--bg-card);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:.75rem;padding:1.5rem}.footer-visible{opacity:1;transform:translateY(0)}.footer-content{max-width:520px}.footer-title{font-size:1.8rem;margin-bottom:1rem}.footer-text{font-size:.95rem;line-height:1.6;opacity:.9;margin-bottom:1.75rem}.footer-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem 2rem}.footer-contact-group{display:flex;flex-direction:column;gap:.2rem}.footer-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;opacity:.7}.footer-link{font-size:.9rem;opacity:.95}.footer-link:hover{text-decoration:underline}.navbar{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050a198c;border-bottom:1px solid rgba(255,255,255,.05)}.navbar-inner{max-width:960px;margin:0 auto;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.navbar-logo{font-size:1rem;font-weight:600;color:var(--text-main);text-decoration:none;letter-spacing:.04em;transition:color .2s ease}.navbar-logo:hover{color:var(--accent-sky)}.navbar-links{display:flex;gap:1.5rem}.navbar-links a{color:#cbd5e1;text-decoration:none;font-size:.9rem;position:relative;transition:color .2s ease}.navbar-links a:hover{color:var(--accent-sky)}.navbar-links a:after{content:"";position:absolute;left:50%;bottom:-6px;width:0%;height:2px;background:var(--accent-sky);border-radius:1px;opacity:0;transform:translate(-50%);transition:all .3s cubic-bezier(.22,1,.36,1)}.navbar-links a:hover:after{width:60%;opacity:.5}.navbar-links a.active{color:var(--accent-sky);font-weight:600}.navbar-links a.active:after{width:100%;opacity:1}@media(max-width:640px){.navbar-inner{padding:.5rem 1rem}.navbar-links{gap:1rem}}.about-title,.projects-title,.blog-title{margin-top:0}section{scroll-margin-top:90px}@media(max-width:640px){section{scroll-margin-top:70px}}.star-trail-canvas{position:fixed;inset:0;pointer-events:none;z-index:0}.section-elevation{width:100%;height:26px;position:relative;z-index:1;box-shadow:inset 0 -10px 18px #38bdf82e,inset 0 -18px 28px #0000008c}.hero,.about,.projects,.blog{background:#0a1023e0;position:relative;z-index:2}.hero-enter{opacity:0;transform:translateY(24px);animation:heroFadeUp .8s ease-out forwards;animation-delay:.12s}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.fade-in-section{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-in-section.is-visible{opacity:1;transform:translateY(0)}.project-fade{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.project-fade.is-visible{opacity:1;transform:translateY(0)}.project-delay-1{transition-delay:0s}.project-delay-2{transition-delay:.12s}.blog-post{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.blog-post.visible{opacity:1;transform:translateY(0)}.blog-post.delay-1{transition-delay:.1s}.blog-post.delay-2{transition-delay:.25s}.blog-post.delay-3{transition-delay:.4s}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#fff;background-color:#050816;--bg-section: rgba(10, 16, 35, .96);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-height:100vh;background:#050816;color:#fff}#root{min-height:100vh}html{scroll-behavior:smooth}
