@import"https://fonts.googleapis.com/css2?family=Alegreya:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Alegreya+SC:wght@400;500;700&family=JetBrains+Mono:wght@400;500&display=swap";.navbar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:0 2.5rem;height:60px;background:#080810bf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.navbar-left{font-family:var(--font-sc);font-size:1rem;font-weight:700;color:var(--text-primary);letter-spacing:.06em;opacity:.9}.navbar-left span{color:var(--primary)}.nav-menu{display:flex;list-style:none;gap:2.5rem;margin:0}.nav-menu a{font-family:var(--font-sans);font-size:.82rem;font-weight:500;color:var(--text-secondary);text-decoration:none;letter-spacing:.08em;text-transform:uppercase;transition:color .2s ease}.nav-menu a:hover{color:var(--text-primary)}#nav-toggle{display:none}.hamburger{display:none;flex-direction:column;cursor:pointer;gap:5px}.hamburger span{display:block;width:22px;height:2px;background:var(--text-secondary);border-radius:2px;transition:.25s ease}@media(max-width:640px){.navbar{padding:0 1.5rem}.hamburger{display:flex}.nav-menu{display:none;position:absolute;top:60px;left:0;right:0;flex-direction:column;gap:0;background:#080810f5;border-bottom:1px solid var(--border);padding:.5rem 0}.nav-menu li a{display:block;padding:.85rem 2rem}#nav-toggle:checked~.nav-menu{display:flex}}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:8rem 2rem 4rem;position:relative}.hero-content{max-width:760px;animation:fadeInUp .8s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero-label{font-family:var(--font-sc);font-size:.85rem;font-weight:500;letter-spacing:.1em;color:var(--primary);margin-bottom:1.25rem;opacity:0;animation:fadeIn .6s ease .1s forwards}.hero-name{font-family:var(--font-sans);font-size:clamp(3rem,8vw,5.5rem);font-weight:700;letter-spacing:.01em;line-height:1.08;margin-bottom:1.25rem;background:linear-gradient(120deg,#ffffff 0%,#b0d8f0 40%,var(--secondary) 100%);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 6s ease-in-out infinite}@keyframes shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.hero-tagline{font-family:var(--font-mono);font-size:clamp(.7rem,2vw,.85rem);color:var(--text-muted);margin-bottom:2rem;letter-spacing:.06em;opacity:0;animation:fadeIn .6s ease .3s forwards}.hero-description{margin-bottom:2.5rem;opacity:0;animation:fadeIn .6s ease .5s forwards}.hero-description p{font-size:clamp(1rem,2.2vw,1.15rem);color:var(--text-secondary);line-height:1.75;font-weight:400;max-width:620px;margin:0 auto}.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2.5rem;opacity:0;animation:fadeIn .6s ease .7s forwards}.btn-primary{display:inline-flex;align-items:center;padding:.7rem 1.75rem;background:var(--primary);color:#fff;font-family:var(--font-sans);font-size:.875rem;font-weight:600;letter-spacing:.02em;text-decoration:none;border-radius:6px;transition:opacity .2s ease,transform .2s ease}.btn-primary:hover{opacity:.88;transform:translateY(-2px)}.btn-secondary{display:inline-flex;align-items:center;padding:.7rem 1.75rem;background:transparent;color:var(--text-secondary);font-family:var(--font-sans);font-size:.875rem;font-weight:500;letter-spacing:.02em;text-decoration:none;border-radius:6px;border:1px solid var(--border);transition:color .2s ease,border-color .2s ease,transform .2s ease}.btn-secondary:hover{color:var(--text-primary);border-color:#fff3;transform:translateY(-2px)}.hero-meta{display:flex;align-items:center;justify-content:center;gap:.6rem;flex-wrap:wrap;opacity:0;animation:fadeIn .6s ease .9s forwards}.meta-tag{font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted);letter-spacing:.06em}.meta-divider{color:var(--text-muted);opacity:.4;font-size:.7rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:640px){.hero{padding:6rem 1.25rem 3rem}.hero-actions{flex-direction:column;align-items:center}.btn-primary,.btn-secondary{width:100%;justify-content:center;max-width:280px}}.skeleton{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.fade-in{opacity:0;transform:translateY(20px);animation:fadeIn .6s ease forwards}@keyframes fadeIn{to{opacity:1;transform:translateY(0)}}.stagger-in>*{opacity:0;transform:translateY(20px);animation:fadeIn .6s ease forwards}.stagger-in>*:nth-child(1){animation-delay:.1s}.stagger-in>*:nth-child(2){animation-delay:.2s}.stagger-in>*:nth-child(3){animation-delay:.3s}.stagger-in>*:nth-child(4){animation-delay:.4s}.stagger-in>*:nth-child(5){animation-delay:.5s}.stagger-in>*:nth-child(6){animation-delay:.6s}.stagger-in>*:nth-child(7){animation-delay:.7s}.stagger-in>*:nth-child(8){animation-delay:.8s}.stagger-in>*:nth-child(9){animation-delay:.9s}.pulse{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.glow{box-shadow:0 0 20px #8b5cf64d;transition:box-shadow .3s ease}.glow:hover{box-shadow:0 0 30px #8b5cf680}.smooth-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px #8b5cf64d;position:relative}.focus-ring:focus:after{content:"";position:absolute;inset:-2px;border:2px solid rgba(139,92,246,.5);border-radius:inherit;pointer-events:none}.spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bounce{animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.gradient-animate{background-size:200% 200%;animation:gradient-shift 3s ease infinite}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.slide-in-left{opacity:0;transform:translate(-30px);animation:slideInLeft .6s ease forwards}@keyframes slideInLeft{to{opacity:1;transform:translate(0)}}.slide-in-right{opacity:0;transform:translate(30px);animation:slideInRight .6s ease forwards}@keyframes slideInRight{to{opacity:1;transform:translate(0)}}.scale-in{opacity:0;transform:scale(.9);animation:scaleIn .6s ease forwards}@keyframes scaleIn{to{opacity:1;transform:scale(1)}}.about{position:relative;padding:7rem 2rem;border-top:1px solid var(--border)}.container{max-width:1100px;margin:0 auto}.section-title{font-family:var(--font-sans);font-size:clamp(1.6rem,4vw,2.25rem);font-weight:600;margin-bottom:3rem;text-align:center;color:var(--text-primary);letter-spacing:-.02em}.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start;opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.about-inner.visible{opacity:1;transform:translateY(0)}.about-eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);margin-bottom:1.1rem}.about-heading{font-family:var(--font-sans);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;letter-spacing:.01em;line-height:1.18;color:var(--text-primary);margin-bottom:1.5rem}.about-body{font-size:.975rem;color:var(--text-secondary);line-height:1.8;margin-bottom:1rem}.focus-list{list-style:none;display:flex;flex-direction:column;gap:0;margin-top:.25rem}.focus-item{display:flex;flex-direction:column;gap:.25rem;padding:1rem 0;border-bottom:1px solid var(--border)}.focus-item:first-child{border-top:1px solid var(--border)}.focus-label{font-family:var(--font-sans);font-size:.875rem;font-weight:600;color:var(--text-primary);letter-spacing:.01em}.focus-detail{font-size:.8rem;color:var(--text-secondary);line-height:1.6}@media(max-width:768px){.about{padding:5rem 1.25rem}.about-inner{grid-template-columns:1fr;gap:3rem}}.projects{position:relative;padding:7rem 2rem;border-top:1px solid var(--border)}.projects-eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);margin-bottom:1rem}.projects-subtitle{font-size:.95rem;color:var(--text-secondary);margin-bottom:3.5rem}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden;opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}.projects-grid.visible{opacity:1;transform:translateY(0)}.project-card{display:flex;flex-direction:column;background:var(--bg-card);text-decoration:none;color:inherit;transition:background .2s ease;opacity:0;transform:translateY(8px)}.projects-grid.visible .project-card{opacity:1;transform:translateY(0);transition:background .2s ease,opacity .4s ease,transform .4s ease}.project-card:hover{background:var(--bg-surface)}.project-visual{position:relative;height:140px;overflow:hidden;background:var(--bg-surface)}.project-img{width:100%;height:100%;object-fit:cover;opacity:.75;transition:opacity .3s ease,transform .3s ease}.project-card:hover .project-img{opacity:.9;transform:scale(1.03)}.project-gradient{width:100%;height:100%;opacity:.55;transition:opacity .3s ease}.project-card:hover .project-gradient{opacity:.7}.badge{position:absolute;top:.6rem;right:.6rem;font-family:var(--font-mono);font-size:.6rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .5rem;border-radius:3px}.badge.featured{background:#38bdf826;color:var(--primary);border:1px solid rgba(56,189,248,.2)}.badge.new{background:#22d3c826;color:var(--secondary);border:1px solid rgba(34,211,200,.2)}.project-body{display:flex;flex-direction:column;flex:1;padding:1.1rem 1.25rem}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.project-title{font-family:var(--font-sans);font-size:.9rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em;line-height:1.3}.project-arrow{font-size:.8rem;color:var(--text-muted);transition:color .2s ease;flex-shrink:0;margin-left:.5rem}.project-card:hover .project-arrow{color:var(--primary)}.project-desc{font-size:.78rem;color:var(--text-secondary);line-height:1.6;flex:1;margin-bottom:1rem}.project-footer{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.project-tags{display:flex;gap:.3rem;flex-wrap:wrap}.tag{font-family:var(--font-mono);font-size:.62rem;color:var(--text-muted);background:#ffffff0a;border:1px solid var(--border);border-radius:3px;padding:.15rem .4rem;letter-spacing:.04em}.project-stars{font-family:var(--font-mono);font-size:.65rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0}@media(max-width:900px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.projects{padding:5rem 1.25rem}.projects-grid{grid-template-columns:1fr}.project-visual{height:120px}}.cosmic-nucleus-container{width:100%;height:520px;position:relative;background:var(--bg-dark);border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden}.cosmic-nucleus-container canvas{display:block;width:100%;height:100%;position:absolute;top:0;left:0}@media(max-width:768px){.cosmic-nucleus-container{height:360px}}.footer{padding:3rem 2rem;border-top:1px solid var(--border)}.footer-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.footer-copy{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);letter-spacing:.04em}.footer-social{display:flex;gap:.75rem}.footer-social-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;color:var(--text-muted);text-decoration:none;border:1px solid var(--border);transition:color .2s ease,border-color .2s ease}.footer-social-icon:hover{color:var(--text-primary);border-color:#ffffff26}@media(max-width:560px){.footer-inner{flex-direction:column-reverse;align-items:flex-start}}.back-to-top{position:fixed;bottom:2rem;right:2rem;width:3rem;height:3rem;background:linear-gradient(135deg,#8b5cf6,#06b6d4);color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(20px);transition:all .3s ease;box-shadow:0 4px 15px #8b5cf666;z-index:1000}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{transform:translateY(-5px);box-shadow:0 6px 20px #8b5cf699}.back-to-top:active{transform:translateY(-2px)}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #38bdf8;--secondary: #22d3c8;--accent: #64748b;--bg-dark: #070b0f;--bg-card: #0c1117;--bg-surface: #111820;--text-primary: #e8edf2;--text-secondary: #7a8a9a;--text-muted: #3d4f60;--border: rgba(255, 255, 255, .06);--gradient-1: linear-gradient(135deg, #38bdf8 0%, #22d3c8 100%);--gradient-2: linear-gradient(135deg, #0ea5e9 0%, #06b6d4 100%);--gradient-3: linear-gradient(135deg, #22d3c8 0%, #0ea572 100%);--font-sans: "Alegreya", Georgia, serif;--font-sc: "Alegreya SC", Georgia, serif;--font-mono: "JetBrains Mono", "Fira Code", monospace}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-dark);color:var(--text-primary);overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased}.app{position:relative;min-height:100vh}.gradient-bg{position:fixed;top:0;left:0;width:100%;height:100%;transition:background .3s ease;z-index:-1;pointer-events:none}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--secondary)}
