:root{--bg: #0c0c0f;--bg-elevated: #141419;--surface: #1a1a21;--border: rgba(255, 255, 255, .06);--text: #f0f0f2;--text-muted: #8b8b95;--accent: #e8b86d;--accent-dim: rgba(232, 184, 109, .15);--font-sans: "Outfit", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius: 12px;--radius-lg: 20px;--transition: .35s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden;min-height:100vh}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}ul{list-style:none}.noise{position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:1000}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;background:#0c0c0fcc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);transition:transform var(--transition),background var(--transition)}.nav.hidden{transform:translateY(-100%)}.nav-logo{font-weight:600;font-size:1.15rem;letter-spacing:-.02em}.nav-links{display:flex;gap:2rem}.nav-links a{font-size:.9rem;font-weight:500;color:var(--text-muted);transition:color var(--transition);position:relative}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--accent);transition:width var(--transition)}.nav-links a:hover{color:var(--text)}.nav-links a:hover:after{width:100%}.nav-toggle{display:none;flex-direction:column;gap:6px;background:none;border:none;cursor:pointer;padding:8px}.nav-toggle span{width:24px;height:2px;background:var(--text);transition:var(--transition)}.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}@media (max-width: 768px){.nav-toggle{display:flex}.nav-links{position:fixed;top:0;right:0;width:280px;height:100vh;background:var(--bg-elevated);flex-direction:column;padding:5rem 2rem 2rem;gap:1.5rem;transform:translate(100%);transition:transform var(--transition);border-left:1px solid var(--border)}.nav-links.open{transform:translate(0)}.nav-links a:after{display:none}}.container{max-width:1100px;margin:0 auto;padding:0 2rem}.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4rem;padding:6rem 2rem 4rem;position:relative}.hero-content{max-width:540px}.hero-greeting{font-size:.95rem;color:var(--accent);font-weight:500;margin-bottom:.5rem;opacity:0;animation:fadeUp .8s ease forwards}.hero-title{font-size:clamp(2.5rem,5vw,4rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-bottom:.5rem;opacity:0;animation:fadeUp .8s ease .1s forwards}.hero-role{font-family:var(--font-mono);font-size:1rem;color:var(--text-muted);margin-bottom:1rem;opacity:0;animation:fadeUp .8s ease .2s forwards}.hero-desc{font-size:1.1rem;color:var(--text-muted);margin-bottom:2rem;opacity:0;animation:fadeUp .8s ease .3s forwards}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;animation:fadeUp .8s ease .4s forwards}.btn{display:inline-block;padding:.85rem 1.6rem;font-size:.95rem;font-weight:600;border-radius:var(--radius);transition:all var(--transition);border:2px solid transparent}.btn-primary{background:var(--accent);color:var(--bg)}.btn-primary:hover{background:transparent;color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.btn-outline{border-color:var(--border);color:var(--text)}.btn-outline:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.hero-visual{position:relative;height:400px;opacity:0;animation:fadeUp 1s ease .3s forwards}.hero-blob{position:absolute;width:320px;height:320px;left:50%;top:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,var(--accent-dim) 0%,transparent 70%);border-radius:50%;filter:blur(40px);animation:blobFloat 8s ease-in-out infinite}.hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,black 20%,transparent 70%);mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,black 20%,transparent 70%);animation:gridPulse 6s ease-in-out infinite}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes blobFloat{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-52%) scale(1.05)}}@keyframes gridPulse{0%,to{opacity:.6}50%{opacity:1}}.scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;animation:fadeIn 1s ease 1s forwards;opacity:0}.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--accent),transparent);border-radius:2px;animation:scrollLine 2s ease-in-out infinite}@keyframes scrollLine{0%,to{transform:scaleY(.5);opacity:.5}50%{transform:scaleY(1);opacity:1}}@keyframes fadeIn{to{opacity:1}}@media (max-width: 900px){.hero{grid-template-columns:1fr;text-align:center;padding-top:5rem}.hero-content{margin:0 auto}.hero-cta{justify-content:center}.hero-visual{height:280px}}.section{padding:5rem 0;border-top:1px solid var(--border)}.section-title{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;letter-spacing:-.02em;margin-bottom:3rem;opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.section-title.visible{opacity:1;transform:translateY(0)}.about-grid{display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:start}.about-text p{color:var(--text-muted);margin-bottom:1rem;font-size:1.05rem;opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.about-text p.visible{opacity:1;transform:translateY(0)}.about-text p:nth-child(1){transition-delay:.1s}.about-text p:nth-child(2){transition-delay:.15s}.about-text p:nth-child(3){transition-delay:.2s}.about-text p:nth-child(4){transition-delay:.25s}.about-text p:nth-child(5){transition-delay:.3s}.about-text p:nth-child(6){transition-delay:.35s}.hero-link,.link-accent{color:var(--accent);font-weight:500;text-decoration:underline;text-underline-offset:3px;transition:color var(--transition),opacity var(--transition)}.hero-link:hover,.link-accent:hover{color:var(--text);opacity:.95}.link-arrow{display:inline-block;margin-top:1rem;color:var(--accent);font-weight:500;transition:transform var(--transition)}.link-arrow:hover{transform:translate(6px)}.about-stats{display:flex;flex-direction:column;gap:1.5rem;padding:2rem;background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);min-width:200px}.stat{text-align:center;opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.stat.visible{opacity:1;transform:translateY(0)}.stat:nth-child(1){transition-delay:.2s}.stat:nth-child(2){transition-delay:.3s}.stat:nth-child(3){transition-delay:.4s}.stat-num{display:block;font-size:2rem;font-weight:700;color:var(--accent);font-family:var(--font-mono)}.stat-label{font-size:.85rem;color:var(--text-muted)}@media (max-width: 768px){.about-grid{grid-template-columns:1fr}.about-stats{flex-direction:row;justify-content:space-around;min-width:auto}}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.skill-card{display:flex;align-items:center;gap:.75rem;padding:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-weight:500;transition:all var(--transition);opacity:0;transform:translateY(20px)}.skill-card.visible{opacity:1;transform:translateY(0)}.skill-card:hover{border-color:var(--accent);background:var(--accent-dim);transform:translateY(-4px)}.skill-icon{color:var(--accent);font-size:.75rem}.education-list{display:flex;flex-direction:column;gap:1.5rem}.education-item{padding:1.5rem 2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.education-item.visible{opacity:1;transform:translateY(0)}.education-item h3{font-size:1.15rem;margin-bottom:.35rem}.education-item .education-meta{font-family:var(--font-mono);font-size:.9rem;color:var(--accent);margin-bottom:.25rem}.education-item .education-period{font-size:.85rem;color:var(--text-muted)}.experience-list{display:flex;flex-direction:column;gap:1.5rem}.experience-item{padding:1.5rem 2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.experience-item.visible{opacity:1;transform:translateY(0)}.experience-item h3{font-size:1.15rem;margin-bottom:.35rem}.experience-company{color:var(--accent);font-weight:600;transition:color var(--transition)}.experience-company:hover{color:var(--text)}.experience-role{font-family:var(--font-mono);font-size:.9rem;color:var(--accent);margin-bottom:.25rem}.experience-period{font-size:.85rem;color:var(--text-muted);margin-bottom:.5rem}.experience-desc{font-size:.95rem;color:var(--text-muted);line-height:1.5;margin:0}.languages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.language-card{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.language-card.visible{opacity:1;transform:translateY(0)}.language-card:hover{border-color:var(--accent);background:var(--accent-dim);transform:translateY(-4px)}.language-card span:first-child{font-weight:500}.language-card .language-level{font-size:.85rem;color:var(--accent)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition);opacity:0;transform:translateY(24px)}.project-card.visible{opacity:1;transform:translateY(0)}.project-card:hover{border-color:#e8b86d4d;transform:translateY(-6px);box-shadow:0 20px 40px #0000004d}.project-card-coming-soon{opacity:.7}.project-card-coming-soon:hover{transform:translateY(-2px);opacity:1}.project-card-coming-soon .project-placeholder{font-size:2.5rem;color:var(--text-muted)}.project-image{position:relative;aspect-ratio:16/10;background:var(--bg-elevated);overflow:hidden}.project-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;color:var(--border);font-family:var(--font-mono)}.project-img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition)}.project-card:hover .project-img{transform:scale(1.05)}.project-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0c0c0fd9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;opacity:0;transition:opacity var(--transition)}.project-card:hover .project-overlay{opacity:1}.project-link{padding:.75rem 1.25rem;background:var(--accent);color:var(--bg);font-weight:600;border-radius:var(--radius);transition:transform var(--transition)}.project-link:hover{transform:scale(1.05)}.project-type{font-size:.85rem;color:var(--text-muted);font-style:italic}.project-card h3{font-size:1.2rem;margin:1.25rem 1.25rem .5rem;font-weight:600}.project-card p{font-size:.9rem;color:var(--text-muted);margin:0 1.25rem 1rem;line-height:1.5}.project-tech-explanation{margin:0 1.25rem 1rem;padding:.75rem;background:var(--accent-dim);border-radius:var(--radius);border-left:3px solid var(--accent)}.project-tech-explanation .tech-label{display:block;font-size:.75rem;font-weight:600;color:var(--accent);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.05em}.project-tech-explanation p{font-size:.8rem;color:var(--text-muted);margin:0;line-height:1.5}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1.25rem 1.25rem}.project-tags span{font-size:.75rem;font-family:var(--font-mono);padding:.25rem .6rem;background:var(--accent-dim);color:var(--accent);border-radius:6px}.contact-content{text-align:center;max-width:560px;margin:0 auto;opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.contact-content.visible{opacity:1;transform:translateY(0)}.contact-content p{color:var(--text-muted);margin-bottom:.75rem}.contact-detail{display:inline-flex;align-items:center;gap:.5rem;font-size:1rem;color:var(--text-muted);margin-bottom:.5rem}.contact-email{display:inline-block;font-size:1.35rem;font-weight:600;color:var(--accent);margin-bottom:1rem;transition:transform var(--transition)}.contact-email:hover{transform:scale(1.02)}.contact-phone{display:block;font-size:1.1rem;color:var(--text);margin-bottom:1rem}.contact-discord{display:block;font-size:1.35rem;font-weight:700;color:var(--accent);margin-top:.5rem;margin-bottom:0}.contact-links{display:flex;justify-content:center;gap:2rem}.contact-links a{color:var(--text-muted);font-weight:500;transition:color var(--transition)}.contact-links a:hover{color:var(--accent)}.footer{padding:2rem;text-align:center;border-top:1px solid var(--border);color:var(--text-muted);font-size:.9rem}[data-animate]{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}[data-animate].visible{opacity:1;transform:translateY(0)}.skills-grid .skill-card:nth-child(1){transition-delay:.03s}.skills-grid .skill-card:nth-child(2){transition-delay:.06s}.skills-grid .skill-card:nth-child(3){transition-delay:.09s}.skills-grid .skill-card:nth-child(4){transition-delay:.12s}.skills-grid .skill-card:nth-child(5){transition-delay:.15s}.skills-grid .skill-card:nth-child(6){transition-delay:.18s}.skills-grid .skill-card:nth-child(7){transition-delay:.21s}.skills-grid .skill-card:nth-child(8){transition-delay:.24s}.skills-grid .skill-card:nth-child(9){transition-delay:.27s}.skills-grid .skill-card:nth-child(10){transition-delay:.3s}.skills-grid .skill-card:nth-child(n+11){transition-delay:.33s}.projects-grid .project-card:nth-child(1){transition-delay:.1s}.projects-grid .project-card:nth-child(2){transition-delay:.2s}.projects-grid .project-card:nth-child(3){transition-delay:.3s}.projects-grid .project-card:nth-child(4){transition-delay:.4s}.education-list .education-item:nth-child(1){transition-delay:.1s}.education-list .education-item:nth-child(2){transition-delay:.2s}.languages-grid .language-card:nth-child(1){transition-delay:.05s}.languages-grid .language-card:nth-child(2){transition-delay:.1s}.languages-grid .language-card:nth-child(3){transition-delay:.15s}
