@import"https://fonts.googleapis.com/css2?family=Syne:wght@700;800&family=DM+Sans:ital,wght@0,300;0,400;1,300&display=swap";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600&family=JetBrains+Mono:wght@400;500&family=Syne:wght@700;800&display=swap";.nf-root{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;font-family:DM Sans,sans-serif;text-align:center;position:relative;overflow:hidden;background:var(--bg-color);color:var(--text-color)}.nf-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(128,128,128,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(128,128,128,.12) 1px,transparent 1px);background-size:48px 48px}.nf-eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;opacity:.5;margin-bottom:12px;position:relative}.nf-number{font-family:Syne,sans-serif;font-weight:800;font-size:clamp(7rem,20vw,10rem);line-height:1;letter-spacing:-4px;position:relative}.nf-message{font-size:1rem;font-weight:300;opacity:.65;max-width:380px;line-height:1.65;margin:16px auto 0;position:relative}.nf-message em{opacity:1;color:var(--text-color);font-style:italic}.nf-btn{margin-top:32px;display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border:1px solid rgba(128,128,128,.3);border-radius:40px;font-family:DM Sans,sans-serif;font-size:14px;color:var(--text-color);text-decoration:none;position:relative;transition:background .2s,border-color .2s}.nf-btn:hover{background:#80808014;border-color:#80808080}.nf-footer{margin-top:48px;font-size:12px;opacity:.4;position:relative}:root{--bg: #1a1a1a;--bg-raised: #2a2a2a;--text: #fef6f9;--text-muted: #c0c0c0;--text-faint: #888888;--accent: #f7c9d6;--secondary: #b6a6ca;--shadow: 0 8px 20px rgba(0, 0, 0, .3)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:Poppins,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden;min-height:100vh}.main-container{max-width:1200px;margin:0 auto;width:100%}section{max-width:1200px;margin:0 auto;padding:4rem 2rem}section h2{text-align:center;font-size:2.2rem;margin-bottom:2rem;color:var(--text)}header{background:var(--bg-raised);box-shadow:var(--shadow);position:sticky;top:0;z-index:1000;width:100%}.navbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;max-width:1200px;margin:0 auto}.logo{font-weight:600;font-size:1.4rem;color:var(--secondary)}.nav-links{list-style:none;display:flex;gap:1.5rem}.nav-links a{text-decoration:none;color:var(--text);font-weight:400;transition:color .3s ease}.nav-links a:hover,.nav-links a.active{color:var(--accent)}.menu-toggle{display:none;border:1px solid rgba(0,0,0,.07);background:var(--bg-raised);color:var(--text);padding:.5rem .85rem;border-radius:10px;cursor:pointer;font-weight:500}.hero{text-align:center;padding:6rem 2rem;background:linear-gradient(135deg,#2a2a2a,#1a1a1a,#0a0a0a);border-radius:0 0 50% 50%/20%;box-shadow:var(--shadow);margin:0 auto;max-width:1200px}.hero h1{font-size:3rem;color:var(--text);margin-bottom:1.5rem}.hero span{color:var(--accent)}.hero p{color:var(--text-muted);font-size:1.2rem;margin-bottom:2.5rem;max-width:600px;margin-left:auto;margin-right:auto}.btn{background:#b0b0b0;color:#000;padding:.9rem 2rem;border-radius:30px;text-decoration:none;font-weight:500;transition:all .3s ease;box-shadow:var(--shadow);border:none;cursor:pointer;display:inline-block;font-size:1rem}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 25px #f7c9d680;background:var(--accent);color:#fff}.btn.active{background:var(--accent);color:#fff;box-shadow:0 8px 20px #fff6}.about,.projects,.contact{background:var(--bg-raised);margin:2rem auto;border-radius:20px;box-shadow:var(--shadow);padding:3rem 2rem}.about p{color:var(--text)}.about-content{max-width:1100px;margin:0 auto;padding:2rem;display:grid;grid-template-columns:1fr;gap:3rem}.about-text{background:var(--bg-raised);padding:3rem;border-radius:22px;box-shadow:var(--shadow)}.about-text h2{color:var(--accent);margin:2rem 0 1rem;font-size:1.6rem}.about-text h2:first-child{margin-top:0}.about-text p{line-height:1.9;font-size:1.05rem;color:var(--text)}.skills-section{background:var(--bg-raised);padding:3rem;border-radius:22px;box-shadow:var(--shadow)}.skills-section h2{text-align:center;margin-bottom:2.5rem;font-size:2rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem}.skill-category{background:var(--bg);padding:2rem;border-radius:18px;border:2px solid rgba(247,201,214,.35);display:flex;flex-direction:column;height:100%;transition:transform .3s ease,box-shadow .3s ease}.skill-category:hover{transform:translateY(-5px);box-shadow:0 14px 28px #0000001a}.skill-category h3{color:var(--secondary);margin-bottom:1rem;font-size:1.25rem;border-bottom:2px solid var(--accent);padding-bottom:.5rem;text-align:center}.skill-category ul{list-style:none;padding:0;margin-top:1rem}.skill-category li{padding:.6rem 0;border-bottom:1px solid rgba(182,166,202,.2);font-size:.95rem}.skill-category li:last-child{border-bottom:none}.certifications-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.certification-card{background:var(--bg);padding:1.5rem;border-radius:18px;border:2px solid rgba(247,201,214,.35);text-align:center;transition:transform .3s ease,box-shadow .3s ease}.certification-card:hover{transform:translateY(-5px);box-shadow:0 14px 28px #0000001a}.certification-card h4{color:var(--secondary);font-size:1.1rem;margin-bottom:.5rem}.certification-card p{color:var(--text);font-size:.9rem;margin:0}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.project-card{background:var(--bg);padding:2rem;border-radius:20px;box-shadow:var(--shadow);text-align:center;transition:transform .3s ease,box-shadow .3s ease;border:2px solid rgba(247,201,214,.4)}.project-card:hover{transform:translateY(-6px);box-shadow:0 18px 35px #0000001f}.repo-icon{display:inline-flex;align-items:center;justify-content:center;width:90px;height:90px;margin:0 auto 1.5rem;border-radius:22px;background:radial-gradient(circle at 30% 30%,#fde2e4,#f8edeb 60%,#e8e8e4);box-shadow:var(--shadow);transition:transform .3s ease,box-shadow .3s ease}.repo-icon svg{width:50px;height:50px;fill:var(--secondary)}.project-card h3{margin:1rem 0;font-weight:600;color:var(--text);font-size:1.3rem}.project-card p{margin-bottom:1rem;color:var(--text-muted)}.project-card p a{text-decoration:none;font-weight:500;color:var(--text);border-bottom:2px solid var(--accent);padding-bottom:2px;transition:color .3s ease}.project-card p a:hover{color:var(--accent)}.proy-header{margin-bottom:28px}.proy-eyebrow{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-faint);margin-bottom:6px;letter-spacing:.05em}.proy-title{font-family:Syne,sans-serif;font-size:2rem;font-weight:700;letter-spacing:-.5px;margin:0 0 6px}.proy-subtitle{font-size:14px;color:var(--text-muted);font-weight:300}.proy-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.proy-chip{font-family:JetBrains Mono,monospace;font-size:11px;padding:5px 12px;border-radius:4px;border:1px solid rgba(255,255,255,.12);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s;letter-spacing:.04em}.proy-chip:hover{border-color:#ffffff40;color:var(--text)}.proy-chip.active{background:var(--text);color:var(--bg);border-color:var(--text)}.proy-count{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-faint);margin-bottom:12px}.proy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1px;border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden}.proy-card{padding:20px;background:var(--bg-raised);border-right:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:8px;transition:background .15s;position:relative;overflow:hidden}.proy-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent-line, transparent);opacity:0;transition:opacity .2s}.proy-card:hover{background:#ffffff0a}.proy-card:hover:before{opacity:1}.proy-card-top{display:flex;justify-content:space-between;align-items:flex-start}.proy-name{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500;color:var(--text);text-decoration:none;flex:1;line-height:1.4}.proy-name:hover{text-decoration:underline;text-underline-offset:3px}.proy-ext{font-size:12px;color:var(--text-faint);margin-left:8px;flex-shrink:0;transition:color .15s}.proy-card:hover .proy-ext{color:var(--text-muted)}.proy-desc{font-size:13px;color:var(--text-muted);line-height:1.55;font-weight:300;flex:1;margin:0}.proy-footer{display:flex;justify-content:space-between;align-items:center;margin-top:4px;padding-top:12px;border-top:1px solid rgba(255,255,255,.07)}.proy-lang{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.06em;padding:3px 8px;border-radius:3px;border:1px solid rgba(255,255,255,.1);color:var(--text-muted)}.proy-date{font-size:11px;color:var(--text-faint);font-weight:300}.proy-skeleton{background:#ffffff12;border-radius:4px;animation:shimmer 1.5s infinite}.proy-empty,.proy-error{grid-column:1 / -1;padding:48px;text-align:center;font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-faint)}.nf-root{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:40px 20px;text-align:center;position:relative;overflow:hidden}.nf-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.nf-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}.nf-eyebrow{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);margin-bottom:12px;position:relative}.nf-number{font-weight:800;font-size:clamp(7rem,20vw,10rem);line-height:1;letter-spacing:-4px;position:relative}.nf-number span{display:inline-block;position:relative}.nf-number span:after{content:attr(data-char);position:absolute;inset:0;color:#e24b4a;clip-path:inset(55% 0 0 0);opacity:.7}.nf-message{font-size:1rem;font-weight:300;color:var(--text-muted);max-width:380px;line-height:1.65;margin:16px auto 0;position:relative}.nf-message em{color:var(--text);font-style:italic}.nf-btn{margin-top:32px;display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border:1px solid rgba(255,255,255,.2);border-radius:40px;font-size:14px;color:var(--text);text-decoration:none;position:relative;transition:background .2s,border-color .2s}.nf-btn:hover{background:#ffffff0f;border-color:#ffffff59}.nf-arrow{display:inline-block;transition:transform .2s}.nf-btn:hover .nf-arrow{transform:translate(-3px)}.nf-footer{margin-top:0;font-size:12px;color:var(--text-faint);position:relative;padding-bottom:8px}.contact{text-align:center}.contact p{margin-bottom:2rem;font-size:1.1rem;color:var(--text)}.contact-form{max-width:600px;margin:0 auto 2.5rem;display:flex;flex-direction:column;gap:1.5rem}.contact-form input,.contact-form textarea{width:100%;padding:1rem 1.2rem;border-radius:14px;border:1px solid rgba(182,166,202,.35);font-size:1rem;background:var(--bg);color:var(--text);outline:none;transition:all .25s ease;box-shadow:inset 0 1px 4px #0000000d}.contact-form textarea{resize:vertical;min-height:140px}footer{text-align:center;padding:2rem;font-size:.9rem;color:var(--text-muted);background:var(--bg-raised);box-shadow:var(--shadow);margin-top:4rem;width:100%}.fade-in{opacity:0;transform:translateY(20px);animation:fadeIn 1s ease-out forwards}@keyframes fadeIn{to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%,to{opacity:.4}50%{opacity:.9}}@media(max-width:900px){.menu-toggle{display:inline-block}.nav-links{display:none}.nav-links.active{display:flex}}@media(max-width:768px){.about-content{padding:1.5rem;gap:2.5rem}.about-text,.skills-section{padding:2rem}.hero{padding:4rem 1.5rem}.hero h1{font-size:2.2rem}.certifications-grid{grid-template-columns:1fr}}@media(max-width:480px){.about-text,.skills-section{padding:1.5rem}.about-text h2{font-size:1.4rem}.skills-section h2{font-size:1.6rem}.hero h1{font-size:1.8rem}.hero p{font-size:1rem}.certification-card{padding:1rem}.certification-card h4{font-size:1rem}.certification-card p{font-size:.85rem}}@media(min-width:1200px){body{background:linear-gradient(135deg,#2a2a2a,#1a1a1a,#0a0a0a)}.main-container{background:var(--bg);box-shadow:0 0 50px #00000080;min-height:100vh}}.h-hero{padding:5rem 2rem 4rem;position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.06);max-width:1200px;margin:0 auto}.h-hero-bg{position:absolute;inset: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;pointer-events:none}.h-hero-content{position:relative;max-width:700px}.h-mono{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-faint);letter-spacing:.05em;margin-bottom:16px}.h-mono span{color:var(--accent)}.h-name{font-family:Syne,sans-serif;font-weight:700;font-size:clamp(2.8rem,8vw,5rem);line-height:1.05;letter-spacing:-1px;margin-bottom:20px;cursor:default}.h-name .accent{color:var(--accent)}.h-desc{font-size:1rem;font-weight:300;color:var(--text-muted);max-width:480px;line-height:1.7;margin-bottom:28px}.h-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}.h-tag{font-family:JetBrains Mono,monospace;font-size:10px;padding:4px 10px;border-radius:3px;border:1px solid rgba(247,201,214,.25);color:var(--accent);letter-spacing:.06em}.h-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:30px;background:var(--accent);color:var(--bg);font-weight:500;font-size:14px;text-decoration:none;transition:all .2s}.h-btn:hover{background:#fff;transform:translateY(-2px)}.h-about{max-width:700px;margin:3rem 2rem;padding:2rem;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:#ffffff05;position:relative}.h-about-label{position:absolute;top:-10px;left:20px;font-family:JetBrains Mono,monospace;font-size:10px;background:var(--bg);padding:0 8px;color:var(--text-faint);letter-spacing:.08em}.h-about p{font-size:14px;color:var(--text-muted);line-height:1.8;font-weight:300}.h-about strong{color:var(--accent);font-weight:500}.h-projects{margin:0 2rem 3rem}.h-section-header{display:flex;align-items:baseline;gap:12px;margin-bottom:20px}.h-section-title{font-family:Syne,sans-serif;font-size:1.4rem;font-weight:700;letter-spacing:-.5px}.h-section-sub{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-faint)}.h-proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1px;border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden}.h-proj-card{padding:20px;background:var(--bg-raised);display:flex;flex-direction:column;gap:8px;transition:background .15s;position:relative;overflow:hidden}.h-proj-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#e8593c;opacity:0;transition:opacity .2s}.h-proj-card:hover{background:#ffffff0a}.h-proj-card:hover:before{opacity:1}.h-proj-top{display:flex;justify-content:space-between;align-items:flex-start}.h-proj-name{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500;color:var(--text);text-decoration:none;flex:1}.h-proj-name:hover{text-decoration:underline;text-underline-offset:3px}.h-proj-ext{font-size:12px;color:var(--text-faint);margin-left:8px}.h-proj-desc{font-size:13px;color:var(--text-muted);line-height:1.5;font-weight:300;flex:1;margin:0}.h-proj-foot{display:flex;justify-content:space-between;padding-top:12px;border-top:1px solid rgba(255,255,255,.07)}.h-proj-lang{font-family:JetBrains Mono,monospace;font-size:10px;color:#e8593c;letter-spacing:.05em}.h-proj-more{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-faint)}.h-contact{margin:0 2rem 3rem;padding:2rem;border:1px solid rgba(247,201,214,.15);border-radius:12px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.h-contact-text p:first-child{font-size:1.1rem;font-weight:600;margin-bottom:4px}.h-contact-text p:last-child{font-size:13px;color:var(--text-faint);font-weight:300}.c-contact{max-width:700px;margin:0 auto;padding:4rem 2rem}.c-eyebrow{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-faint);letter-spacing:.05em;margin-bottom:8px}.c-title{font-family:Syne,sans-serif;font-weight:700;font-size:2.2rem;letter-spacing:-.5px;margin-bottom:6px;text-align:left}.c-sub{font-size:14px;color:var(--text-muted);font-weight:300;margin-bottom:40px}.c-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden;margin-bottom:20px}.c-channel{padding:20px;background:var(--bg-raised);display:flex;flex-direction:column;gap:6px;transition:background .15s;position:relative;overflow:hidden;text-decoration:none;color:inherit}.c-channel:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--cl, #888);opacity:0;transition:opacity .2s}.c-channel:hover{background:#ffffff0a}.c-channel:hover:before{opacity:1}.c-ch-icon{font-size:20px;margin-bottom:4px}.c-ch-label{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-faint);letter-spacing:.06em}.c-ch-value{font-size:14px;color:var(--text)}.c-ch-note{font-size:12px;color:var(--text-faint);font-weight:300}.c-availability{padding:16px 20px;border:1px solid rgba(255,255,255,.07);border-radius:8px;display:flex;align-items:center;gap:12px;background:#ffffff05}.c-dot{width:8px;height:8px;border-radius:50%;background:#1d9e75;flex-shrink:0;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{opacity:1;box-shadow:0 0 #1d9e7566}50%{opacity:.8;box-shadow:0 0 0 6px #1d9e7500}}.c-avail-text p:first-child{font-size:13px;font-weight:500}.c-avail-text p:last-child{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-faint);margin-top:2px}.sm-text-block{max-width:1200px;margin:3rem 2rem;display:flex;flex-direction:column;gap:1px;border:1px solid rgba(255,255,255,.07);border-radius:12px;overflow:hidden}.sm-section{padding:24px 32px;background:var(--bg-raised);display:flex;flex-direction:column;gap:8px;position:relative;transition:background .15s}.sm-section:hover{background:#ffffff0a}@media(max-width:600px){.sm-section{grid-template-columns:1fr;gap:8px}}.sm-heading{font-family:Syne,sans-serif;font-size:1rem;font-weight:700;color:var(--accent);margin-bottom:4px;letter-spacing:-.3px}.sm-section p{font-size:14px;color:var(--text-muted);line-height:1.8;font-weight:300}.sm-section strong{color:var(--accent);font-weight:500}.sm-block{margin:0 2rem 3rem}.sm-cert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden}.sm-cert-card{padding:20px;background:var(--bg-raised);display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden;transition:background .15s}.sm-cert-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent);opacity:0;transition:opacity .2s}.sm-cert-card:hover{background:#ffffff0a}.sm-cert-card:hover:before{opacity:1}.sm-cert-code{font-family:JetBrains Mono,monospace;font-size:16px;font-weight:500;color:var(--accent);letter-spacing:.05em}.sm-cert-name{font-size:12px;color:var(--text-faint);font-weight:300;line-height:1.4}.skill-category li{display:flex;justify-content:space-between;align-items:center}.sm-level{font-family:JetBrains Mono,monospace;font-size:9px;color:var(--text-faint);letter-spacing:.05em;padding:2px 6px;border:1px solid rgba(255,255,255,.08);border-radius:3px}.h-hero{display:flex;justify-content:space-between;align-items:center}.h-star-wrap{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:220px;height:220px;margin-right:2rem}.h-star{width:100%;height:100%;animation:star-spin 12s linear infinite;opacity:.6}@keyframes star-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.h-star-wrap{display:none}}
