.skip-nav{position:absolute;left:-9999px;z-index:999;padding:8px 16px;background:#28a745;color:#fff;text-decoration:none;border-radius:4px}
.hero-particles,.footer-particles{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(2px 2px at 20% 30%,rgba(39,174,96,.3),transparent),radial-gradient(1px 1px at 60% 70%,rgba(39,174,96,.2),transparent),radial-gradient(1px 1px at 90% 40%,rgba(39,174,96,.1),transparent),radial-gradient(2px 2px at 10% 80%,rgba(39,174,96,.2),transparent);animation:float 6s ease-in-out infinite;pointer-events:none;z-index:1}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.hero-stats{display:flex;justify-content:center;gap:2rem;flex-wrap:nowrap;margin-top:2rem;margin-bottom:3rem;align-items:center;padding:1rem 0}
.hero-stats .stat-item{background-color:rgba(39,174,96,.1);padding:1rem 1.5rem;border-radius:12px;border:1px solid rgba(39,174,96,.3);backdrop-filter:blur(8px);min-width:160px;text-align:center}
.hero-stats .stat-number{font-size:2.5rem;font-weight:700;color:#27ae60;margin-bottom:.5rem}
.hero-stats .stat-label{font-size:.9rem;color:#b3b3b3;text-transform:uppercase;letter-spacing:1px}
.hero-text-container{background-color:rgba(0,0,0,.4);padding:12px 18px;border-radius:10px;backdrop-filter:blur(4px);width:auto;max-width:90%;min-height:100px;height:100px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}
.typing-container{font-size:clamp(.85rem,3vw,1.1rem);line-height:1.5;text-align:center;width:100%;padding:0 5px;color:#fff}
.cursor{animation:blink .7s infinite;font-weight:100}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.stats-bar{display:flex;justify-content:center;gap:4rem;padding:3rem 0;flex-wrap:nowrap}
.stats-bar .stat-item{text-align:center;min-width:120px;white-space:nowrap}
.footer-card{background-color:rgba(0,0,0,.6);padding:1.25rem;border-radius:12px;border:1px solid rgba(39,174,96,.3);backdrop-filter:blur(15px);width:100%;min-height:120px;display:flex;flex-direction:column;justify-content:flex-start}
.social-icon{color:#fff!important;font-size:24px!important;transition:all .3s ease;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:44px;height:44px;border-radius:50%!important;background:rgba(255,255,255,.1)!important;border:1px solid rgba(255,255,255,.2)!important;padding:0!important}
.social-icon:hover{color:#27ae60!important;transform:translateY(-3px) scale(1.1);background:rgba(39,174,96,.2)!important;border-color:rgba(39,174,96,.4)!important}
.social-icon svg{display:block!important;flex-shrink:0!important;width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important}
.mail-cellphone{display:inline-flex;align-items:center;justify-content:flex-start;color:#fff;font-size:1.1rem;text-decoration:none;transition:color .3s ease}
.mail-cellphone:hover{color:#27ae60}
.project-card{background-color:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all .3s ease}
.project-card:hover{transform:translateY(-5px);border-color:rgba(39,174,96,.5)!important;background-color:rgba(255,255,255,.15)!important}
.language-badge{background-color:rgba(39,174,96,.2);color:#27ae60;padding:4px 12px;border-radius:12px;font-size:.8rem;font-weight:600}
.opensource-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
.opensource-item{display:flex;flex-direction:column;padding:1rem 1.25rem;background-color:rgba(255,255,255,.05);border:1px solid rgba(39,174,96,.2);border-radius:8px;text-decoration:none;transition:all .2s ease;gap:.5rem}
.opensource-item:hover{background-color:rgba(39,174,96,.1);border-color:rgba(39,174,96,.4);transform:translateY(-2px);box-shadow:0 4px 12px rgba(39,174,96,.15)}
.opensource-item-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.opensource-name{color:#27ae60;font-weight:600;display:flex;align-items:center;gap:.5rem}
.opensource-desc{color:rgba(255,255,255,.5);font-size:.85rem;line-height:1.4}
.opensource-lang{background-color:rgba(39,174,96,.2);color:#27ae60;padding:2px 10px;border-radius:10px;font-size:.7rem;font-weight:600;white-space:nowrap}
@media(max-width:768px){.opensource-list{grid-template-columns:1fr}}
.contribution-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:rgba(39,174,96,.1);border:1px solid rgba(39,174,96,.3);border-radius:8px;cursor:pointer;transition:all .3s ease}
.contribution-header:hover{background-color:rgba(39,174,96,.15)!important;border-color:rgba(39,174,96,.5)!important}
.contribution-items{background-color:rgba(255,255,255,.05);border:1px solid rgba(39,174,96,.2);border-top:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px;padding:1rem 1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem}
.contribution-link{display:flex;align-items:center;padding:.75rem 1rem;background-color:rgba(255,255,255,.08);border:1px solid rgba(39,174,96,.2);border-radius:6px;text-decoration:none;color:#27ae60;transition:all .2s ease;font-size:.95rem;font-weight:500}
.contribution-link:hover{background-color:rgba(39,174,96,.15)!important;border-color:rgba(39,174,96,.5)!important;transform:translateX(4px);color:#27ae60}
.resource-card{background-color:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all .4s cubic-bezier(.25,.8,.25,1)}
.resource-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 20px 40px rgba(39,174,96,.3),0 0 20px rgba(39,174,96,.2);background-color:rgba(255,255,255,.15)!important;border-color:rgba(39,174,96,.5)!important}
@media(max-width:768px){.hero-stats{flex-direction:column;gap:1rem}.hero-stats .stat-item{min-width:200px}.stats-bar{flex-direction:column;gap:1.5rem}.contribution-items{grid-template-columns:1fr}}
@media(max-width:576px){.hero-text-container{min-height:80px;height:auto;padding:10px 12px}}
