@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";html{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-khtml-user-select:none}body{min-width:320px;min-height:100vh;margin:0}iframe{-webkit-user-select:none;user-select:none;pointer-events:auto}.header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;-webkit-user-select:none;user-select:none;background:#fffffff2;border-bottom:1px solid #eaeaea;position:fixed;top:0;left:0;right:0}.header-inner{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:.875rem 1.5rem;display:flex}.brand{flex-direction:column;gap:2px;display:flex}.brand-title{color:#06f;letter-spacing:.5px;font-size:1.25rem;font-weight:700;line-height:1.2}.brand-subtitle{color:#888;font-size:.8rem;font-weight:400;line-height:1.2}.menu-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;padding:4px;transition:transform .2s;display:flex}.menu-toggle:active{transform:scale(.95)}.menu-toggle span{transform-origin:50%;background:#333;border-radius:2px;width:100%;height:2px;transition:all .3s;display:block}.menu-toggle:hover span{background:#06f}.menu-open span:first-child{transform:translateY(7px)rotate(45deg)}.menu-open span:nth-child(2){opacity:0}.menu-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav{background:#fff;border-bottom:1px solid #eaeaea;flex-direction:column;gap:0;max-height:0;padding:0;transition:all .3s;display:flex;position:absolute;top:100%;left:0;right:0;overflow:hidden}.nav-open{max-height:300px;padding:.75rem 0}.nav a{color:#555;border-left:3px solid #0000;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s;position:relative}.nav a:hover{color:#06f;background:#f5f5f5}.nav a.active{color:#06f}.nav a.active:after{content:"";background:#06f;width:0;height:2px;animation:.3s forwards slideIn;position:absolute;bottom:0;left:0}@keyframes slideIn{0%{width:0}to{width:100%}}@media (width>=769px){.menu-toggle{display:none}.nav{background:0 0;border:none;flex-direction:row;gap:2rem;max-height:none;padding:0;position:static;overflow:visible}.nav a{border-left:none;padding:.35rem 0;position:relative}.nav a:hover{color:#06f;background:0 0}.nav a.active{color:#06f}.nav a.active:after{content:"";background:#06f;width:0;height:2px;animation:.3s forwards slideIn;position:absolute;bottom:-4px;left:0}}@media (width<=768px){.header-inner{padding:.75rem 1rem}.brand-title{font-size:1.1rem}.brand-subtitle{font-size:.75rem}}@media (width<=480px){.header-inner{padding:.625rem .875rem}.brand-title{font-size:1rem}.brand-subtitle{font-size:.7rem}}.about{text-align:center;padding-top:4rem}.profile-container{margin-bottom:1.25rem}.profile-container .avatar{object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none;border:3px solid #06f;border-radius:50%;width:140px;height:140px;transition:transform .3s}.profile-container .avatar:hover{transform:scale(1.05)}.name{color:#111;letter-spacing:-.5px;margin-bottom:.35rem;font-size:2.25rem;font-weight:700}.status{color:#06f;margin-bottom:.5rem;font-size:1rem;font-weight:500}.bio{color:#666;justify-content:center;align-items:center;gap:2px;max-width:450px;min-height:1.4em;margin:0 auto;font-size:.95rem;display:flex}.typing-text{font-style:italic}.cursor{background:#06f;width:2px;height:1em;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@media (width<=768px){.profile-container .avatar{width:120px;height:120px}.name{font-size:1.75rem}}@media (width<=480px){.profile-container .avatar{width:110px;height:110px}.name{font-size:1.5rem}.status{font-size:.9rem}.bio{font-size:.875rem}}.skills{text-align:left}.skills-container{flex-direction:column;gap:1.25rem;display:flex}.skills-grid{flex-direction:column;gap:.75rem;display:flex}.skill-item{background:#fff;border:1px solid #eaeaea;border-radius:8px;grid-template-columns:100px 1fr 45px;align-items:center;gap:1rem;padding:.875rem 1.125rem;transition:transform .2s;display:grid}.skill-item:hover{transform:translate(5px)}.skill-name{color:#222;font-size:.9rem;font-weight:500}.progress-bar{background:#eaeaea;border-radius:3px;width:100%;height:6px;overflow:hidden}.progress{background:#06f;border-radius:3px;height:100%;transition:width .5s}.skill-percent{color:#666;text-align:right;font-size:.85rem;font-weight:600}@media (width<=768px){.skill-item{grid-template-columns:90px 1fr 40px;gap:.75rem;padding:.75rem .875rem}.skill-name{font-size:.85rem}}@media (width<=480px){.skill-item{grid-template-columns:80px 1fr 38px;gap:.625rem;padding:.625rem .75rem}.skill-name{font-size:.8rem}.progress-bar{height:5px}.skill-percent{font-size:.8rem}}.certificates{text-align:left}.certificates-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}.certificate-item{cursor:pointer;background:#fff;border:1px solid #eaeaea;border-radius:10px;transition:all .25s;position:relative;overflow:hidden}.certificate-item:hover{transform:translateY(-4px);box-shadow:0 6px 20px #00000014}.certificate-item:active{transform:scale(.97)}.certificate-overlay{opacity:0;background:#0009;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:absolute;inset:0}.certificate-item:hover .certificate-overlay{opacity:1}.certificate-overlay svg{color:#fff;transition:transform .25s;transform:scale(.7)}.certificate-item:hover .certificate-overlay svg{transform:scale(1)}.view-text{color:#fff;opacity:0;font-size:.85rem;font-weight:500;transition:all .25s;transform:translateY(8px)}.certificate-item:hover .view-text{opacity:1;transform:translateY(0)}.certificate-img{-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:auto;display:block}.modal-overlay{z-index:2000;background:#000000bf;justify-content:center;align-items:center;padding:1.5rem;animation:.2s modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:520px;max-height:85vh;animation:.2s modalSlideIn;position:relative;overflow:hidden}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{cursor:pointer;color:#666;z-index:10;background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;transition:transform .2s;display:flex;position:absolute;top:.625rem;right:.625rem}.modal-close:active{transform:scale(.9)rotate(90deg)}.modal-header{position:relative}.modal-thumbnail{-webkit-user-select:none;user-select:none;object-fit:cover;width:100%;height:auto;max-height:280px;display:block}.modal-header-info{padding:1.25rem 1.25rem 0}.modal-title{color:#111;margin:0;font-size:1.15rem;font-weight:600}.modal-body{padding:1rem 1.25rem 1.25rem}.modal-meta{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.meta-item{background:#f8f9fa;border-radius:8px;align-items:center;gap:.875rem;padding:.875rem;display:flex}.meta-icon{color:#666;background:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.meta-content{flex-direction:column;flex:1;gap:.125rem;display:flex}.meta-label{color:#888;font-size:.75rem;font-weight:500}.meta-value{color:#333;font-size:.9rem;font-weight:500}.modal-description-wrapper{background:#f8f9fa;border-radius:8px;padding:1rem}.modal-description{color:#555;margin:0;font-size:.9rem;line-height:1.6}@media (width<=768px){.certificates-grid{grid-template-columns:1fr;gap:1rem}.modal-content{max-width:100%}.modal-overlay{padding:1.25rem}}@media (width<=480px){.modal-overlay{padding:1rem}.modal-close{width:26px;height:26px;top:.625rem;right:.625rem}.modal-header-info{padding:1rem 1rem 0}.modal-title{font-size:1.05rem}.modal-body{padding:.875rem 1rem 1rem}.meta-item{padding:.75rem}.meta-icon{width:28px;height:28px}.modal-description-wrapper{padding:.875rem}.modal-description{font-size:.85rem}}.projects{text-align:left}.projects-loading{justify-content:center;align-items:center;padding:2rem 0;display:flex}.loading-spinner{border:2px solid #eaeaea;border-top-color:#06f;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.projects-header{align-items:stretch;gap:1rem;margin-bottom:1.25rem;display:flex}.profile-info{background:#fff;border:1px solid #eaeaea;border-radius:8px;align-items:center;gap:.875rem;min-width:200px;max-width:240px;padding:1rem;display:flex}.profile-info .avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:48px;height:48px}.profile-details{flex-direction:column;gap:.25rem;min-width:0;display:flex}.profile-name{color:#111;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.95rem;font-weight:600;line-height:1.3;overflow:hidden}.profile-bio{color:#666;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8rem;line-height:1.4;display:-webkit-box;overflow:hidden}.contribution-graph{background:#fff;border:1px solid #eaeaea;border-radius:8px;flex:1;min-width:0;padding:1rem}.graph-container{-webkit-overflow-scrolling:touch;width:100%;overflow:auto hidden}.graph-grid{gap:3px;width:fit-content;display:flex}.graph-week{flex-direction:column;gap:3px;display:flex}.graph-day{background:#ebedf0;border-radius:2px;width:10px;height:10px}.graph-day.level-0{background:#ebedf0}.graph-day.level-1{background:#9be9a8}.graph-day.level-2{background:#40c463}.graph-day.level-3{background:#30a14e}.graph-day.level-4{background:#216e39}.graph-day.level--1{background:0 0}.graph-legend{justify-content:flex-end;align-items:center;gap:4px;margin-top:6px;display:flex}.legend-label{color:#888;font-size:.65rem}.legend-blocks{gap:3px;display:flex}.legend-day{border-radius:2px;width:10px;height:10px}.legend-day.level-0{background:#ebedf0}.legend-day.level-1{background:#9be9a8}.legend-day.level-2{background:#40c463}.legend-day.level-3{background:#30a14e}.legend-day.level-4{background:#216e39}.projects-stats{grid-template-columns:repeat(3,1fr);gap:.625rem;margin-bottom:1.25rem;display:grid}.stat-card{background:#fff;border:1px solid #eaeaea;border-radius:8px;flex-direction:column;align-items:center;padding:1rem .5rem;display:flex}.stat-number{color:#111;margin-bottom:.375rem;font-size:1.5rem;font-weight:700;line-height:1}.stat-label{color:#888;text-transform:uppercase;letter-spacing:.3px;font-size:.7rem;font-weight:500}.projects-grid{flex-direction:column;gap:.625rem;display:flex}.project-card{background:#fff;border:1px solid #eaeaea;border-radius:8px;flex-direction:column;padding:.875rem 1rem;text-decoration:none;transition:all .2s;display:flex}.project-card:hover{border-color:silver}.project-card:active{transform:scale(.98)}.project-header{align-items:center;gap:.5rem;margin-bottom:.375rem;display:flex}.project-icon{color:#666;flex-shrink:0}.project-name{color:#111;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:600;overflow:hidden}.project-desc{color:#666;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .625rem;font-size:.85rem;line-height:1.5;display:-webkit-box;overflow:hidden}.project-meta{align-items:center;gap:.75rem;margin-top:auto;display:flex}.project-lang{color:#666;align-items:center;gap:.375rem;font-size:.8rem;display:flex}.lang-dot{background:#06f;border-radius:50%;width:10px;height:10px}.project-star,.project-fork{color:#888;align-items:center;gap:.25rem;font-size:.8rem;display:flex}@media (width<=768px){.projects-header{flex-direction:column;gap:.75rem}.profile-info{width:100%;max-width:100%}.contribution-graph{width:100%}}@media (width<=480px){.profile-info{gap:.625rem;padding:.75rem}.profile-info .avatar{width:40px;height:40px}.profile-name{font-size:.9rem}.profile-bio{-webkit-line-clamp:1;font-size:.75rem}.contribution-graph{padding:.75rem}.stat-number{font-size:1.25rem}.stat-label{font-size:.65rem}}.music{text-align:left}.spotify-card{background:#fff;border:1px solid #eaeaea;border-radius:12px;overflow:hidden}.spotify-card iframe{width:100%;height:152px;display:block}@media (width<=768px){.spotify-card{border-radius:10px}}.contact{text-align:left}.contact-links{flex-direction:column;gap:.875rem;display:flex}.contact-card{color:#222;background:#fff;border:1px solid #eaeaea;border-radius:8px;align-items:center;gap:1rem;padding:1.125rem 1.25rem;font-size:1rem;font-weight:500;text-decoration:none;transition:all .25s;display:flex;position:relative;overflow:hidden}.contact-card:before{content:"";z-index:0;width:0;height:100%;transition:width .3s;position:absolute;top:0;left:0}.contact-card:hover:before{width:100%}.contact-card:hover{color:#fff;border-color:#0000;transform:translate(5px)}.contact-card.telegram:hover:before{background:#08c}.contact-card.instagram:hover:before{background:linear-gradient(135deg,#f09433,#dc2743,#bc1888)}.contact-card.whatsapp:hover:before{background:#25d366}.contact-icon-wrapper{z-index:1;background:#f5f5f5;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .25s;display:flex;position:relative}.contact-card:hover .contact-icon-wrapper{background:#fff3}.contact-icon{z-index:1;flex-shrink:0;width:22px;height:22px;position:relative}.contact-name{z-index:1;position:relative}@media (width<=480px){.contact-card{padding:1rem 1.125rem;font-size:.95rem}.contact-icon-wrapper{width:36px;height:36px}.contact-icon{width:20px;height:20px}}*{box-sizing:border-box;margin:0;padding:0}:focus{outline:none}html{scroll-behavior:smooth}body{color:#000;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fafafa;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.app{flex-direction:column;min-height:100vh;display:flex}.main{flex:1;padding-top:85px}.section{max-width:700px;margin:0 auto;padding:4rem 1.5rem;position:relative}.section+.section{border-top:1px solid #eaeaea}.section-title{color:#111;letter-spacing:-.3px;margin-bottom:1.75rem;font-size:1.35rem;font-weight:600}@media (width<=768px){.main{padding-top:75px}.section{padding:3rem 1.25rem}.section-title{margin-bottom:1.5rem;font-size:1.25rem}}@media (width<=480px){.main{padding-top:70px}.section{padding:2.5rem 1rem}.section-title{margin-bottom:1.25rem;font-size:1.15rem}}
