*,*:before,*:after{box-sizing:border-box;padding:0;margin:0}body{background-color:#4a4a4a;opacity:0;animation:pageLoadIn 1s ease forwards;font-family:Segoe UI,Arial,sans-serif}.web-container{display:flex;flex-direction:column;flex:1;width:85vw}.wrapper-95{width:95%;margin:0 auto}.wrapper-80{width:80%;margin:0 auto}.wrapper-75{width:75%;margin:0 auto}.wrapper-50{width:50%;margin:0 auto}header{text-align:center;padding:20px 0}header h1{margin:0;font-size:2rem}section{padding:1rem}.pulse{letter-spacing:1px;position:relative;margin-bottom:1rem;font-family:Montserrat,sans-serif}.pulse:after{content:"";position:absolute;bottom:-15px;left:50%;transform:translate(-50%);width:clamp(80px,20vw,120px);height:4px;background:linear-gradient(90deg,transparent,#3498db,transparent);border-radius:3px;opacity:.8;transition:all .4s ease;animation:gentlePulse 2s ease-in-out infinite}.gray{background:radial-gradient(circle at 90% 10%,#3498db26,#27272700 40%),#272727;display:flex;justify-content:center}.light_gray{background:radial-gradient(circle at 10% 90%,#32cd3226,#35353500 40%),#353535;display:flex;justify-content:center}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.project-card{display:flex;flex-direction:column;justify-content:space-between;border:2px solid #4a4a4a;border-radius:8px;box-shadow:0 4px 6px #0000001a;overflow:hidden;text-align:center;transition:transform .3s ease,background-color .3s ease,box-shadow .3s ease;height:auto;padding:.5rem 1rem}.project-card:hover{transform:translateY(-5px);background-color:#4a4a4a;box-shadow:0 4px 6px #00000080}.project-card p,.project-card h2{padding:.5rem 1rem}.project-card img{width:100%;height:auto;display:block;border-radius:8px;box-shadow:0 4px 6px #0000001a}.btn{display:inline-block;padding:.5rem 1rem;background-color:#0073e6;text-decoration:none;border-radius:4px;font-weight:700}.btn:hover{background-color:#005bb5}.big-section{display:flex;flex-direction:column;position:relative}.tech-stack-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0;justify-content:center}.tech-stack-badges .tech-badge{padding:.25rem .5rem;border-radius:1rem;font-size:.75rem;font-weight:700;color:#fff;box-shadow:0 2px 4px #0003}.tech-dots{display:flex;gap:.5rem;justify-content:center;margin-top:.5rem}.tech-dots .tech-dot{width:10px;height:10px;border-radius:50%;display:inline-block;position:relative;cursor:pointer;transition:all .2s ease}.tech-dots .tech-dot:hover{transform:scale(1.2)}.tech-dots .tech-dot:hover:after{opacity:1;visibility:visible;margin-bottom:.8rem}.tech-dots .tech-dot:hover:before{opacity:1;visibility:visible;margin-bottom:.5rem}.tech-filter{display:flex;flex-direction:column;text-align:center;padding:1.5rem}.tech-filter .filter-buttons{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.5rem}.tech-filter .filter-btn{padding:.25rem .75rem;border-radius:1rem;border:none;background-color:var(--tech-color);color:#fff;cursor:pointer;font-size:.85rem;transition:all .3s ease;opacity:.7}.tech-filter .filter-btn:hover,.tech-filter .filter-btn.active{opacity:1;transform:translateY(-2px)}.github-section{padding:4rem 0;position:relative;overflow:hidden}.github-section:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 70% 30%,rgba(64,120,192,.15) 0%,transparent 30%),radial-gradient(circle at 30% 70%,rgba(50,205,50,.1) 0%,transparent 30%);animation:rotateGradient 20s linear infinite;z-index:0}.github-section .github-container{text-align:center;margin-top:2rem;position:relative;z-index:1}.github-section .github-container p{margin-top:1.5rem;font-size:1.1rem;opacity:.9;transition:all .5s ease}.github-section .github-container:hover p{transform:translateY(5px);opacity:1}.github-section .github-link{display:inline-flex;align-items:center;justify-content:center;padding:1.8rem 2.5rem;background:radial-gradient(circle at center,#333,#222),linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 50%);border-radius:16px;text-decoration:none;transition:all .6s cubic-bezier(.25,1,.5,1);box-shadow:0 10px 20px #0000004d,0 0 0 1px #ffffff1a;border:2px solid rgba(255,255,255,.05);position:relative;overflow:hidden;transform-style:preserve-3d;perspective:1000px}.github-section .github-link:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.03) 0%,transparent 100%);z-index:1}.github-section .github-link:hover{transform:translateY(-8px) scale(1.03) rotateX(5deg) rotateY(2deg);box-shadow:0 15px 30px #0006,0 0 30px #4078c04d}.github-section .github-link:hover .github-hover-effect{opacity:.8;transform:scale(1.1)}.github-section .github-link:hover svg{transform:rotate(12deg) scale(1.15) translateY(-3px);filter:drop-shadow(0 0 8px rgba(255,255,255,.4))}.github-section .github-link:hover span{letter-spacing:.5px;text-shadow:0 0 10px rgba(255,255,255,.3)}.github-section .github-link svg{width:65px;height:65px;margin-right:1.8rem;transition:transform .6s cubic-bezier(.34,1.56,.64,1),filter .4s ease;fill:#ccc;position:relative;z-index:2}.github-section .github-link span{font-size:1.6rem;font-weight:700;color:#fff;position:relative;z-index:2;transition:letter-spacing .4s ease,text-shadow .4s ease}.github-section .github-hover-effect{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,#4078c0 0%,rgba(44,62,80,.8) 70%,transparent 100%);opacity:0;transition:opacity .8s ease,transform 1s ease;z-index:1;animation:pulse 4s infinite}.card-title{text-align:center;margin-bottom:2rem}.link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.link-item{background-color:#2d2d2d;padding:1rem;border-radius:8px;text-align:center;color:#ccc;font-size:1rem;font-weight:700;text-decoration:none;box-shadow:0 2px 4px #0003;width:100%;transition:background-color .3s ease,transform .3s ease,box-shadow .3s ease}.link-item:hover{background-color:#4bbafa;color:#fff;transform:translateY(-3px);box-shadow:0 4px 6px #0000004d}@media (min-width: 769px) and (max-width: 1278px){.web-container{width:78vw}}@media (max-width: 768px){.web-container{width:100vw}.github-section .github-link{padding:1.3rem 1.8rem;flex-direction:column}.github-section .github-link svg{margin-right:0;margin-bottom:1rem;width:50px;height:50px}.github-section .github-link span{font-size:1.3rem}.tech-dot:after{font-size:.65rem;padding:.2rem .4rem}.tech-dot:before{border-width:.25rem}}@media (max-width: 564px){.wrapper-75{width:100%}}@media (max-width: 435px){.wrapper-80{width:100%}.wrapper-50{width:75%}}@keyframes pageLoadIn{to{opacity:1}}@keyframes rotateGradient{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%{opacity:.3;transform:scale(.95)}50%{opacity:.5;transform:scale(1)}to{opacity:.3;transform:scale(.95)}}@keyframes gentlePulse{0%,to{transform:translate(-50%) scaleX(.95);opacity:.7}50%{transform:translate(-50%) scaleX(1.05);opacity:.9}}
