:root{--bg-color: #050505;--bg-grid: #0a0a0a;--primary-glow: #ffffff;--secondary-glow: #cccccc;--text-main: #ffffff;--text-muted: #a0aabf;--font-title: "Poppins", sans-serif;--font-text: "Inter", sans-serif;--card-bg: rgba(20, 20, 25, .6)}*{margin:0;padding:0;box-sizing:border-box;scroll-behavior:smooth}body{background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-text);overflow-x:hidden;line-height:1.6;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}img{-webkit-user-drag:none;pointer-events:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--primary-glow);border-radius:4px}.loader-wrapper{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--bg-color);z-index:9999;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:opacity .5s ease-out,visibility .5s}.loader-wrapper.hidden{opacity:0;visibility:hidden}.loader-logo{font-family:var(--font-title);font-size:2.5rem;font-weight:800;color:var(--text-main);position:relative;letter-spacing:2px}.loading-bar{width:300px;height:2px;background:#ffffff1a;margin-top:2rem;border-radius:2px;overflow:hidden;position:relative}.loading-progress{width:0%;height:100%;background:var(--primary-glow);box-shadow:0 0 15px var(--primary-glow);animation:loadProgress 2.5s cubic-bezier(.65,0,.35,1) forwards}@keyframes loadProgress{0%{width:0%}50%{width:70%}to{width:100%}}.skeleton-text{margin-top:1rem;font-family:var(--font-text);font-size:.9rem;color:var(--text-muted);letter-spacing:1px}.skeleton-blink{animation:blink 1.5s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.4}}#particles-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.cyber-grid{display:none}.cyber-nav{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 5%;position:fixed;width:100%;top:0;background:#050510cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;border-bottom:1px solid rgba(0,255,204,.2)}.nav-logo{font-family:var(--font-title);font-size:1.4rem;font-weight:800;letter-spacing:1px}.neon-text{color:var(--primary-glow)}.nav-links{list-style:none;display:flex;gap:2rem}.nav-links a{color:var(--text-main);text-decoration:none;font-family:var(--font-title);font-size:.9rem;letter-spacing:1px;position:relative;transition:.3s}.nav-links a:hover{color:var(--primary-glow);text-shadow:0 0 8px var(--primary-glow)}.nav-links a:after{content:"";position:absolute;bottom:-5px;left:0;width:0%;height:2px;background:var(--primary-glow);transition:.3s}.nav-links a:hover:after{width:100%}.lang-switch{display:flex;gap:10px}.lang-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--text-muted);padding:5px 10px;font-family:var(--font-title);font-size:.8rem;border-radius:4px;cursor:pointer;transition:.3s}.lang-btn:hover,.lang-btn.active{border-color:var(--primary-glow);color:var(--primary-glow);box-shadow:0 0 10px #0fc3}.hero-section{min-height:100vh;display:flex;align-items:center;padding:0 10%;position:relative}.hero-content{max-width:600px;z-index:2;animation:fadeUp 1s cubic-bezier(.16,1,.3,1) forwards;opacity:0;transform:translateY(30px)}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}.subtitle{color:var(--primary-glow);font-family:var(--font-text);font-weight:600;letter-spacing:2px;margin-bottom:.5rem;text-transform:uppercase}.main-title{font-family:var(--font-title);font-size:4.5rem;font-weight:800;line-height:1.1;margin-bottom:1.5rem;letter-spacing:-1px}.description{font-size:1.1rem;color:var(--text-muted);margin-bottom:2.5rem;max-width:90%;opacity:.9}.elegant-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 34px;font-family:var(--font-title);font-size:.95rem;font-weight:600;text-decoration:none;border-radius:50px;transition:all .3s cubic-bezier(.25,.8,.25,1);cursor:pointer;margin-right:15px}.elegant-btn.primary{background:var(--primary-glow);color:#000;border:1px solid var(--primary-glow);box-shadow:0 8px 25px #ffffff4d}.elegant-btn.primary:hover{transform:translateY(-4px);box-shadow:0 12px 30px #ffffff80;background:#ddd}.elegant-btn.secondary{background:transparent;color:var(--text-main);border:1px solid rgba(255,255,255,.2)}.elegant-btn.secondary:hover{transform:translateY(-4px);border-color:#fff;background:#ffffff0d}.hero-graphics{position:absolute;right:10%;top:50%;transform:translateY(-50%);width:350px;height:350px;z-index:1}.profile-ring{width:100%;height:100%;border-radius:50%;position:relative;display:flex;justify-content:center;align-items:center}.profile-ring:before{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border:2px solid transparent;border-top-color:var(--primary-glow);border-bottom-color:#fff3;border-radius:50%;animation:smoothSpin 10s linear infinite;z-index:1}@keyframes smoothSpin{to{transform:rotate(360deg)}}.profile-photo{width:90%;height:90%;object-fit:cover;object-position:center 15%;border-radius:50%;z-index:2;position:relative;box-shadow:0 10px 40px #00000080;transition:.5s cubic-bezier(.175,.885,.32,1.275)}.profile-photo:hover{transform:scale(1.05);box-shadow:0 15px 50px #fff3}.section-title{text-align:center;font-family:var(--font-title);font-size:2.5rem;color:var(--text-main);margin-bottom:3rem;text-transform:uppercase;letter-spacing:3px;position:relative}.section-title:after{content:"";display:block;width:100px;height:3px;background:var(--primary-glow);margin:10px auto;box-shadow:0 0 10px var(--primary-glow)}.skills-section{padding:100px 10%;background:linear-gradient(180deg,transparent,rgba(15,15,32,.9) 100%)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2rem;margin-top:2rem}.skill-card{background:var(--card-bg);border:1px solid rgba(0,255,204,.1);padding:2rem 1rem;border-radius:8px;text-align:center;transition:.3s;cursor:crosshair;position:relative;overflow:hidden}.skill-card:hover{transform:translateY(-10px);border-color:var(--primary-glow);box-shadow:0 10px 20px #00ffcc1a}.skill-card i,.skill-card .custom-svg-icon{font-size:3rem;color:var(--primary-glow);margin-bottom:1rem;transition:.3s;display:flex;justify-content:center}.skill-card .custom-svg-icon svg{width:3rem;height:3rem;fill:var(--primary-glow)}.skill-card:hover i,.skill-card:hover .custom-svg-icon svg{color:var(--text-main);fill:var(--text-main);text-shadow:0 0 10px var(--primary-glow);filter:drop-shadow(0 0 10px var(--primary-glow));transform:translateY(-5px) scale(1.1)}.skill-name{font-family:var(--font-title);font-size:1.1rem;font-weight:700;transition:transform .3s}.skill-card:hover .skill-name{transform:translateY(-5px)}.skill-hover-info{margin-top:15px;opacity:0;transform:translateY(10px);transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.skill-card:hover .skill-hover-info{opacity:1;transform:translateY(0)}.skill-level-text{font-family:var(--font-title);font-size:1.5rem;color:var(--primary-glow);font-weight:800;margin-bottom:5px}.skill-bar-bg{width:100%;height:6px;background:#ffffff1a;border-radius:4px;overflow:hidden}.skill-bar-fill{height:100%;width:0%;background:var(--primary-glow);border-radius:4px;box-shadow:0 0 10px var(--primary-glow);transition:width 1s cubic-bezier(.175,.885,.32,1.275)}.skill-card:hover .skill-bar-fill{width:var(--target-width)}.projects-section{padding:100px 10%}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem}.project-card{background:var(--card-bg);border:1px solid rgba(255,255,255,.05);border-radius:12px;overflow:hidden;position:relative;transition:.4s cubic-bezier(.175,.885,.32,1.275);cursor:pointer;min-height:400px;height:100%;display:flex;flex-direction:column}.project-card:hover{transform:scale(1.02);border-color:var(--secondary-glow);box-shadow:0 0 20px #ff00ff26}.skeleton-card .skeleton-img{width:100%;height:180px;flex-shrink:0;background:linear-gradient(90deg,#1a1a2e 25%,#23233b,#1a1a2e 75%);background-size:200% 100%;animation:skeletonLoad 1.5s infinite}.skeleton-card .skeleton-line{background:linear-gradient(90deg,#1a1a2e 25%,#23233b,#1a1a2e 75%);background-size:200% 100%;animation:skeletonLoad 1.5s infinite;border-radius:4px;margin:1rem}.skeleton-card .title{height:24px;width:60%}.skeleton-card .desc{height:60px;width:85%;margin-top:0}.skeleton-card .skeleton-icons{margin:1rem;display:flex;gap:10px}.skeleton-card .skeleton-icons:before,.skeleton-card .skeleton-icons:after{content:"";width:30px;height:30px;border-radius:50%;background:linear-gradient(90deg,#1a1a2e 25%,#23233b,#1a1a2e 75%);background-size:200% 100%;animation:skeletonLoad 1.5s infinite}@keyframes skeletonLoad{0%{background-position:200% 0}to{background-position:-200% 0}}.proj-img-container{width:100%;height:180px;flex-shrink:0;overflow:hidden;position:relative}.proj-img{width:100%;height:100%;object-fit:cover;transition:.5s}.project-card:hover .proj-img{transform:scale(1.1);filter:brightness(.6)}.proj-content{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column}.proj-title{font-family:var(--font-title);color:var(--text-main);font-size:1.4rem;margin-bottom:.5rem}.proj-desc{color:var(--text-muted);font-size:.9rem;margin-bottom:1.5rem;flex-grow:1}.proj-techs{display:flex;gap:15px;border-top:1px solid rgba(255,255,255,.1);padding-top:1rem}.proj-techs i{font-size:1.5rem;color:var(--secondary-glow);transition:.3s}.project-card:hover .proj-techs i{text-shadow:0 0 10px var(--secondary-glow)}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;display:flex;justify-content:center;align-items:center;opacity:0;visibility:hidden;transition:.3s}.modal-overlay.active{opacity:1;visibility:visible}.modal-content{background:#0f0f20;border:1px solid var(--primary-glow);width:90%;max-width:800px;border-radius:12px;padding:0;box-shadow:0 0 40px #fff3;position:relative;transform:translateY(50px);transition:.4s cubic-bezier(.175,.885,.32,1.275);max-height:90vh;overflow-y:auto}.modal-overlay.active .modal-content{transform:translateY(0)}.close-modal{position:absolute;top:15px;right:20px;background:#0009;width:40px;height:40px;border-radius:50%;border:none;color:#fff;font-size:1.5rem;cursor:pointer;transition:.3s;display:flex;justify-content:center;align-items:center;z-index:10}.close-modal:hover{background:#fff3;color:#fff;transform:rotate(90deg) scale(1.1)}.modal-title{font-family:var(--font-title);color:var(--primary-glow);font-size:2rem;margin-bottom:1rem}.modal-full-desc{color:var(--text-muted);font-size:1.1rem;margin-bottom:2rem;white-space:pre-wrap}.modal-banner{width:100%;height:250px;background-size:cover;background-position:center;border-bottom:2px solid var(--primary-glow)}.modal-body-content{padding:2rem}.modal-tech-icons{display:flex;gap:15px;margin-bottom:1.5rem}.modal-tech-icons i{font-size:1.8rem;color:#fff;text-shadow:0 0 15px rgba(255,255,255,.5)}.hex-color-preview{display:inline-block;width:14px;height:14px;border-radius:50%;margin-right:2px;vertical-align:middle}.elegant-btn.btn-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.contact-section{padding:100px 10%;background:linear-gradient(180deg,transparent,rgba(15,15,32,.4) 100%)}.contact-container{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.contact-card{background:var(--card-bg);border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:2.5rem 2rem;width:300px;transition:.4s cubic-bezier(.175,.885,.32,1.275);display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}.contact-card i{font-size:3rem;color:var(--primary-glow);transition:.3s}.contact-card:hover{transform:translateY(-10px);border-color:var(--primary-glow);box-shadow:0 10px 30px #ffffff1a}.contact-card:hover i{color:#fff;text-shadow:0 0 15px rgba(255,255,255,.8);transform:scale(1.1)}.contact-card h3{font-family:var(--font-title);color:var(--text-main);font-size:1.2rem;letter-spacing:1px}.contact-card a{color:var(--text-muted);text-decoration:none;font-size:1rem;font-family:var(--font-text);transition:.3s}.contact-card a:hover{color:var(--primary-glow);text-shadow:0 0 8px rgba(255,255,255,.5)}.coming-soon-card{cursor:default!important;background:var(--card-bg);border:1px dashed rgba(255,255,255,.2)!important;justify-content:center;align-items:center;min-height:400px}.coming-soon-card:hover{transform:none!important;box-shadow:none!important;border-color:#ffffff59!important}.coming-soon-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;gap:1.2rem;height:100%}.coming-soon-icon i{font-size:3.5rem;color:#ffffff40;animation:hgPulse 2.5s ease-in-out infinite}@keyframes hgPulse{0%,to{opacity:.25;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.coming-soon-card .proj-title{color:#ffffff80;font-size:1.5rem;letter-spacing:3px;text-transform:uppercase}.coming-soon-card .proj-desc{color:#ffffff4d;font-size:.9rem}.game-section{padding:100px 5%;background:#080808;display:flex;justify-content:center}.game-container{width:100%;max-width:900px;text-align:center}.game-instructions{color:var(--text-muted);margin-bottom:20px;font-family:var(--font-text)}.canvas-wrapper{position:relative;width:100%;height:500px;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;box-shadow:0 20px 50px #00000080;background:#030303}#asteroids-canvas{display:block;width:100%;height:100%;outline:none}.in-game-score{position:absolute;top:15px;left:20px;font-family:var(--font-title);font-size:1.2rem;font-weight:700;color:#fff;z-index:10;text-shadow:0 0 10px rgba(255,255,255,.8);pointer-events:none}.in-game-score.hidden{display:none}.game-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s}.game-overlay.hidden{opacity:0;pointer-events:none}#game-score{font-family:var(--font-title);font-size:1.5rem;font-weight:700;color:#fff;margin-top:15px}.nav-hamburger{display:none;flex-direction:column;gap:5px;background:transparent;border:none;cursor:pointer;padding:6px;z-index:200}.nav-hamburger span{display:block;width:26px;height:2px;background:#fff;border-radius:2px;transition:all .3s ease}.nav-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-hamburger.open span:nth-child(2){opacity:0}.nav-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-lang-mobile{display:none}@media (max-width: 768px){.nav-hamburger{display:flex}.lang-switch{display:none}.nav-links{display:none;flex-direction:column;align-items:center;gap:1.8rem;position:fixed;top:0;left:0;width:100%;height:100vh;background:#050510f7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);justify-content:center;z-index:150;padding:2rem}.nav-links.open{display:flex}.nav-links a{font-size:1.4rem;letter-spacing:3px}.nav-lang-mobile{display:flex;gap:12px;margin-top:1rem}.hero-section{flex-direction:column;padding:100px 6% 60px;text-align:center;justify-content:center;gap:2rem;min-height:100svh}.hero-graphics{display:flex!important;position:relative;right:auto;top:auto;transform:none;width:220px;height:220px;order:-1;margin:0 auto}.hero-content{max-width:100%}.main-title{font-size:2.4rem;letter-spacing:-.5px}.description{font-size:1rem;max-width:100%}.hero-actions{display:flex;flex-direction:column;gap:12px;align-items:center}.elegant-btn{width:100%;max-width:280px;margin-right:0}.skills-section,.projects-section,.contact-section{padding:60px 5%}.section-title{font-size:1.8rem}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.project-grid{grid-template-columns:1fr}.contact-container{flex-direction:column;align-items:center}.contact-card{width:100%;max-width:340px}.canvas-wrapper{height:300px}.game-section{padding:60px 5%}}@media (max-width: 400px){.main-title{font-size:2rem}.hero-graphics{width:170px;height:170px}}
