:root{--bg-black-900:#f0f2f5;--bg-black-100:#fff;--bg-black-50:#d0d7e2;--text-black-900:#111827;--text-black-700:#374151}body.dark{--bg-black-900:#0c0a0b;--bg-black-100:#141213;--bg-black-50:#1f1c1d;--text-black-900:#f5f2f3;--text-black-700:#ccc}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg-black-900);background-image:linear-gradient(rgba(var(--skin-color-rgb), .02) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--skin-color-rgb), .02) 1px, transparent 1px);min-height:100vh;color:var(--text-black-900);background-size:30px 30px;font-family:Poppins,sans-serif;font-size:16px;line-height:1.6;position:relative;overflow-x:hidden}body.modal-open{width:100%;position:fixed;left:0;right:0;overflow:hidden}body.modal-open .section.active{overflow-y:hidden}*{box-sizing:border-box;outline:none;margin:0;padding:0;text-decoration:none}:before,:after{box-sizing:border-box}ul{list-style:none}.section{background:var(--bg-black-900);background-image:linear-gradient(rgba(var(--skin-color-rgb), .015) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--skin-color-rgb), .015) 1px, transparent 1px);opacity:0;z-index:0;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;filter:blur(8px);pointer-events:none;visibility:hidden;backface-visibility:hidden;perspective:1000px;background-size:30px 30px;min-height:100vh;padding:0 30px;transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94),filter .8s cubic-bezier(.25,.46,.45,.94);display:block;position:fixed;inset:0 0 0 270px;overflow:hidden auto;transform:translate(30px)scale(.98)}.section.back-section{z-index:1;opacity:0;filter:blur(8px);visibility:hidden;pointer-events:none;transition:opacity .6s cubic-bezier(.55,.055,.675,.19),transform .6s cubic-bezier(.55,.055,.675,.19),filter .6s cubic-bezier(.55,.055,.675,.19);transform:translate(-30px)scale(.98)}.section.active{z-index:2;opacity:1;visibility:visible;pointer-events:auto;filter:blur();transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94),filter .7s cubic-bezier(.25,.46,.45,.94);transform:translate(0)scale(1)}.section.active,.section.back-section{will-change:transform, opacity;backface-visibility:hidden;-webkit-font-smoothing:antialiased}.section:not(.active) *{animation-play-state:paused!important}@media (prefers-reduced-motion:reduce){.section.active,.section.back-section{transition:none!important;animation:none!important}.section.active{opacity:1!important;visibility:visible!important;filter:none!important;transform:none!important}.section.back-section{opacity:0!important;visibility:hidden!important}}.hidden{display:none!important}.padd-15{padding-left:15px;padding-right:15px}.container{width:100%;max-width:1100px;margin:auto}.section .container{padding-top:80px;padding-bottom:80px}.project.section .container{padding-bottom:20px}.section-title{flex:0 0 100%;max-width:100%;margin-bottom:48px}.section-title h2{color:var(--text-black-900);letter-spacing:2px;text-transform:uppercase;margin-bottom:20px;font-size:40px;font-weight:700;line-height:1.3;position:relative}.section-title h2:before{content:"";background:linear-gradient(90deg, var(--skin-color), transparent);width:100%;max-width:400px;height:2px;position:absolute;top:100%;left:0}.section-title h2:after{content:"";display:none}@keyframes blink{0%{opacity:.5}to{opacity:1}}.row{flex-wrap:wrap;margin-left:-15px;margin-right:-15px;display:flex;position:relative}.btn{white-space:nowrap;border:1px solid var(--skin-color);color:var(--skin-color);box-shadow:0 4px 15px var(--skin-color-03);cursor:pointer;background:0 0;border-radius:40px;padding:12px 35px;font-size:16px;font-weight:500;transition:all .4s cubic-bezier(.25,.46,.45,.94);display:inline-block;position:relative;overflow:hidden}.btn:before{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.btn:hover:before{left:100%}.btn:hover{box-shadow:0 8px 25px var(--skin-color-05);transform:translateY(-3px)scale(1.02)}.hire-me{color:var(--skin-color);border:2px solid var(--skin-color);background:0 0;font-weight:700;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.hire-me:before{content:"";background:#ffffff4d;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hire-me:hover:before{width:300px;height:300px}.hire-me:after{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.hire-me:hover:after{left:100%}.hire-me:hover,.hire-me:focus-visible{background:linear-gradient(135deg, var(--skin-color), var(--skin-gradient));color:#fff;box-shadow:0 10px 30px rgba(var(--skin-color-rgb), .4), 0 0 0 3px rgba(var(--skin-color-rgb), .15);transform:translateY(-4px)scale(1.03)}.hire-me:active{transition:all .1s;transform:translateY(-2px)scale(1.02)}.shadow-dark{transition:box-shadow .3s;box-shadow:0 4px 20px #00000014}.shadow-dark:hover{box-shadow:0 8px 30px #0000001f}.aside{background:var(--bg-black-100);border-right:1px solid var(--bg-black-50);z-index:10;justify-content:center;align-items:center;width:270px;height:100%;padding:30px;transition:all .3s;display:flex;position:fixed;top:0;left:0}.aside .logo{text-transform:capitalize;font-size:30px;position:absolute;top:50px}.aside .logo a{color:var(--text-black-900);letter-spacing:5px;padding:15px 20px;font-size:30px;font-weight:700;position:relative}.aside .logo a span{font-family:Share Tech Mono,monospace;font-size:40px}.aside .logo a:before{content:"";border-bottom:5px solid var(--skin-color);border-left:5px solid var(--skin-color);width:20px;height:20px;position:absolute;bottom:0;left:0}.aside .logo a:after{content:"";border-top:5px solid var(--skin-color);border-right:5px solid var(--skin-color);width:20px;height:20px;position:absolute;top:0;right:0}.aside .nav-toggler{border:1px solid var(--bg-black-50);cursor:pointer;background:var(--bg-black-100);border-radius:5px;justify-content:center;align-items:center;width:45px;height:40px;transition:all .3s;display:none;position:fixed;top:20px;left:300px}.aside .nav-toggler span{background:var(--skin-color);width:18px;height:2px;display:inline-block;position:relative}.aside .nav-toggler.open span{background:0 0}.aside .nav-toggler span:before{content:"";background:var(--skin-color);width:18px;height:2px;position:absolute;top:-6px;left:0}.aside .nav-toggler.open span:before{top:0;transform:rotate(45deg)}.aside .nav-toggler span:after{content:"";background:var(--skin-color);width:18px;height:2px;position:absolute;top:6px;left:0}.aside .nav-toggler.open span:after{top:0;transform:rotate(-45deg)}.aside .nav{margin-top:50px}.aside .nav li{margin-bottom:20px;display:block}.aside .nav li a{border-bottom:1px solid var(--bg-black-50);color:var(--text-black-900);padding:5px 15px;font-size:16px;font-weight:600;transition:all .3s cubic-bezier(.25,.46,.45,.94);display:block;position:relative}.aside .nav li a:before{content:"";background:linear-gradient(90deg, var(--skin-color), var(--skin-gradient));width:0;height:2px;transition:width .3s cubic-bezier(.25,.46,.45,.94);position:absolute;bottom:0;left:0}.aside .nav li a:hover:before,.aside .nav li a.active:before{width:100%}.aside .nav li a:hover{color:var(--skin-color);padding-left:20px;transform:translate(3px)}.aside .nav li a.active{color:var(--skin-color)}.aside .nav li a i{margin-right:15px}.home{min-height:100vh;color:var(--text-black-900);display:flex}.home .home-info{flex:0 0 60%;max-width:60%}.home .home-img{text-align:center;flex:0 0 40%;max-width:40%;position:relative}h1.hello{margin:20px 0;font-size:32px;font-weight:600;line-height:1.4}h1.hello span{color:var(--skin-color);text-shadow:1px 1px #ff00ff4d,-1px -1px #00ffff4d;font-family:Share Tech Mono,monospace;font-size:30px;font-weight:700;animation:4s infinite alternate glitch}@keyframes glitch{0%{text-shadow:1px 1px #ff00ff4d,-1px -1px #00ffff4d;transform:translate(0)}15%{text-shadow:-1px -1px #f0f3,1px 1px #0ff3;transform:translate(-.5px,.5px)}30%{text-shadow:1px -1px #ff00ff4d,-1px 1px #00ffff4d;transform:translate(0)}to{text-shadow:1px 1px #ff00ff4d,-1px -1px #00ffff4d;transform:translate(0)}}@keyframes gradientShift{0%{background-position:100% 0}to{background-position:-100% 0}}h2.my-profession{white-space:nowrap;margin:20px 0;font-size:clamp(24px,2.2vw,32px);font-weight:600;line-height:1.4}.typing{color:var(--skin-color);white-space:nowrap}h2.my-profession .typed-cursor{white-space:nowrap}.home-info p{color:var(--text-black-700);max-width:600px;margin-bottom:40px;font-size:18px;line-height:1.8}.home .home-img img{object-fit:contain;object-position:center;width:auto;max-width:100%;height:400px;filter:drop-shadow(0 10px 30px var(--skin-color-02));border-radius:5px;margin:0 auto;transition:transform .4s cubic-bezier(.25,.46,.45,.94),filter .4s;display:block}.home .home-img:hover img{filter:drop-shadow(0 15px 40px var(--skin-color-04));transform:scale(1.05)translateY(-5px)}.home:before{content:"";background:linear-gradient(135deg, var(--bg-black-900) 0%, var(--bg-black-100) 50%, var(--bg-black-900) 100%);opacity:.5;z-index:-1;background-size:200% 200%;width:100%;height:100%;animation:15s infinite gradientMove;position:absolute;top:0;left:0}@keyframes gradientMove{0%,to{background-position:0%}50%{background-position:100%}}.btn-download{background:linear-gradient(135deg, var(--skin-color), var(--skin-gradient));box-shadow:0 4px 20px rgba(var(--skin-color-rgb), .4), 0 0 0 0 rgba(var(--skin-color-rgb), .4);color:#fff;cursor:pointer;border:none;border-radius:50px;align-items:center;gap:12px;padding:16px 40px;font-size:16px;font-weight:700;text-decoration:none;transition:all .4s cubic-bezier(.34,1.56,.64,1);display:inline-flex;position:relative;overflow:hidden}.btn-download:before{content:"";background:#ffffff4d;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn-download:hover:before{width:300px;height:300px}.btn-download:after{content:"";background:linear-gradient(90deg,#0000,#fff6,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.btn-download:hover:after{left:100%}.btn-download:hover{box-shadow:0 12px 40px rgba(var(--skin-color-rgb), .5), 0 0 0 4px rgba(var(--skin-color-rgb), .2);filter:brightness(1.15);transform:translateY(-5px)scale(1.05)}.btn-download:active{transition:all .1s;transform:translateY(-2px)scale(1.02)}.btn-download i{z-index:1;font-size:18px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);position:relative}.btn-download:hover i{transform:translateY(-3px)rotate(5deg)scale(1.1)}.about .about-content{flex:0 0 100%;max-width:100%}.about .about-content .about-text{flex:0 0 60%;max-width:60%}.about .about-content .about-text h3{color:var(--text-black-900);margin-bottom:15px;font-size:24px;font-weight:700}.about .about-content .about-text h3 span{color:var(--skin-color)}.about .about-content .about-text p{color:var(--text-black-700);font-size:16px;line-height:25px}.about .about-content .about-text strong{color:var(--skin-color)}.about-bullet-list{margin:0;padding:0;list-style:none}.about-bullet-list li{color:var(--text-black-700);border-bottom:1px solid var(--bg-black-50);padding:12px 0 12px 25px;font-size:16px;line-height:1.7;position:relative}.about-bullet-list li:last-child{border-bottom:none}.about-bullet-list li:before{content:"▸";color:var(--skin-color);font-size:18px;font-weight:700;position:absolute;left:0}.about-bullet-list li strong{color:var(--text-black-900);font-weight:600}.about .about-content .personal-info{flex:0 0 40%;max-width:40%;margin-top:0;padding-left:30px}.about-profile-img{text-align:center;margin-bottom:20px}.about-profile-img img{object-fit:cover;object-position:center 5%;border:3px solid var(--skin-color);width:148px;height:148px;box-shadow:0 0 24px var(--skin-color-02);border-radius:50%;transition:box-shadow .3s}.about-profile-img img:hover{box-shadow:0 0 32px var(--skin-color-04)}.about-stats{gap:10px;margin-bottom:22px;display:flex}.about-stats .stat-item{text-align:center;background:var(--bg-black-50);border:1px solid #0000;border-radius:8px;flex:1;padding:12px 6px;transition:border-color .3s}.about-stats .stat-item:hover{border-color:var(--skin-color)}.about-stats .stat-number{color:var(--skin-color);font-size:20px;font-weight:700;line-height:1;display:block}.about-stats .stat-label{color:var(--text-black-700);text-transform:uppercase;letter-spacing:.4px;margin-top:5px;font-size:11px;display:block}.about .about-content .personal-info .info-item{flex:0 0 100%;max-width:100%}.about .about-content .personal-info .info-item p{color:var(--text-black-900);border-bottom:1px solid var(--bg-black-50);padding:10px 0;font-size:15px;font-weight:600}.about .about-content .personal-info .info-item p span{color:var(--text-black-700);overflow-wrap:break-word;word-break:break-all;margin-left:4px;font-weight:400;display:inline}.social-icons{margin-top:20px}.social-icons a{border:1px solid var(--skin-color);text-align:center;background-color:#0000;border-radius:100%;width:3rem;height:3rem;margin-right:.5rem;font-size:1.4rem;line-height:3rem;transition:all .3s;display:inline-block;color:var(--skin-color)!important}.social-icons a.linkedin,.social-icons a.github,.social-icons a.facebook{background-color:#0000}.social-icons a:last-child{margin-top:1rem;margin-right:0}.social-icons a{position:relative}.social-icons a:before{content:"";background:rgba(var(--skin-color-rgb), .2);z-index:0;border-radius:50%;width:0;height:0;transition:width .4s,height .4s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.social-icons a:hover:before{width:100%;height:100%}.social-icons a i{z-index:1;transition:transform .4s cubic-bezier(.34,1.56,.64,1);position:relative}.social-icons a:hover{background-color:var(--skin-color);box-shadow:0 0 20px rgba(var(--skin-color-rgb), .6), 0 5px 15px #0000004d;border-color:var(--skin-color);transform:translateY(-5px)scale(1.1);color:#fff!important}.social-icons a:hover i{transform:scale(1.2)rotate(10deg)}.about .about-content .personal-info .buttons{margin-top:30px;margin-left:15px}.about .about-content .education,.about .about-content .experience{flex:0 0 50%;max-width:50%;margin-top:50px}.about .about-content h3.title{color:var(--text-black-900);margin-bottom:30px;font-size:24px;font-weight:700}.about .about-content .timeline-box{flex:0 0 100%;max-width:100%}.about .about-content .timeline{background-color:rgba(var(--skin-color-rgb), .02);border:1px solid rgba(var(--skin-color-rgb), .2);width:100%;box-shadow:0 0 15px rgba(var(--skin-color-rgb), .05);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:35px 20px;position:relative}body:not(.dark) .about .about-content .timeline{border:1px solid rgba(var(--skin-color-rgb), .12);-webkit-backdrop-filter:blur(20px)saturate(180%);background-color:#ffffffd9;box-shadow:0 4px 20px #0000000f,0 0 0 1px #00000008,inset 0 1px #fffc}.about .about-content .timeline .timeline-item{padding-bottom:50px;padding-left:37px;position:relative}.about .about-content .timeline .timeline-item:last-child{padding-bottom:0}.about .about-content .timeline .timeline-item:before{content:"";background-color:var(--skin-color);width:1px;height:100%;position:absolute;top:0;left:7px}.about .about-content .timeline .circle-dot{background-color:var(--skin-color);border-radius:50%;width:15px;height:15px;position:absolute;top:0;left:0}.about .about-content .timeline .timeline-date{color:var(--text-black-700);margin-bottom:12px;font-size:14px;font-weight:400}.about .about-content .timeline .timeline-date .fa{margin-right:5px}.about .about-content .timeline .timeline-title{text-transform:capitalize;color:var(--text-black-900);margin-bottom:15px;font-size:18px;font-weight:700}.about .about-content .timeline .timeline-text{text-align:left;color:var(--text-black-700);font-size:16px;line-height:25px}.about .about-content .timeline .timeline-details{color:var(--text-black-700);opacity:.85;margin:8px 0 0 18px;padding:0;font-size:13.5px;line-height:1.7;list-style:outside}.about .about-content .timeline .timeline-details li{margin-bottom:3px}.skills .container{padding-bottom:40px}.skills .row{margin-bottom:0}.skills .skills-content{max-width:100%;box-shadow:none;background:0 0;border:0;flex:0 0 100%;margin-bottom:35px;padding:0 15px}.skills .skills-content:last-child{margin-bottom:0}.skills .skills-content .skills-text{max-width:100%;box-shadow:none;background:0 0;border:0;flex:0 0 100%}.skills .skills-content>.row{box-shadow:none;background:0 0;border:0}.skills .skills-content:hover{box-shadow:none}.skills .skills-content .skills-text h3{text-transform:uppercase;letter-spacing:.09em;color:var(--text-black-900);border-bottom:2px solid var(--bg-black-50);align-items:center;gap:10px;margin-bottom:18px;padding-bottom:12px;font-size:13px;font-weight:700;display:flex}.skills .skills-content .skills-text h3 i{color:var(--skin-color);font-size:14px}.skills .skills-text .fa-ul{margin-top:0;margin-bottom:0;padding:0;font-size:1.1rem;list-style:none}.skills .skills-text .fa-ul li{margin-top:10px;margin-bottom:10px;padding-left:0;position:relative}.skills .fa-ul .fa-check{color:var(--skin-color)}.skills .skills-content .skills-workflow{max-width:100%;color:var(--text-black-900);flex:0 0 100%}.skills .skills-content .skills-text-description{color:var(--text-black-700);margin-top:20px;font-size:16px;line-height:25px}.skills-icons{box-shadow:none;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;margin-bottom:0;display:flex}.skill-icon{--skill-accent:var(--skin-color);background:linear-gradient(135deg, #ffffff05, rgba(var(--skin-color-rgb), .06)), var(--bg-black-900);border:2px solid var(--bg-black-50);cursor:default;border-radius:10px;flex-direction:row;align-items:center;gap:8px;padding:8px 14px;transition:all .28s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden}.skill-icon i{background:color-mix(in srgb, var(--skill-accent) 16%, transparent);width:34px;height:34px;color:var(--skill-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--skill-accent) 35%, transparent);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:21px;transition:transform .28s,filter .28s;display:inline-flex}.skill-icon i.colored{color:inherit}.skill-icon span{color:var(--text-black-900);white-space:nowrap;font-size:13px;font-weight:600;transition:color .3s}.skill-icon:hover{border-color:color-mix(in srgb, var(--skill-accent) 80%, #fff 20%);box-shadow:0 10px 24px #0003, 0 0 0 1px color-mix(in srgb, var(--skill-accent) 45%, transparent);transform:translateY(-3px)}.skill-icon:hover i{filter:drop-shadow(0 0 8px color-mix(in srgb, var(--skill-accent) 50%, transparent));transform:scale(1.1)rotate(-3deg)}.skill-icon:hover span{color:color-mix(in srgb, var(--skill-accent) 70%, var(--text-black-900))}.skill-familiar{border-style:dashed}.skill-familiar:hover{opacity:1}.project .container{padding-bottom:20px}.project-filter{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:30px;padding:0 15px;display:flex}.filter-btn{border:1px solid rgba(var(--skin-color-rgb), .3);color:var(--text-black-700);cursor:pointer;white-space:nowrap;background:0 0;border-radius:25px;padding:10px 24px;font-size:14px;font-weight:600;transition:all .3s;position:relative;overflow:hidden}.filter-btn:hover{border-color:var(--skin-color);color:var(--skin-color);box-shadow:0 0 15px rgba(var(--skin-color-rgb), .3);text-shadow:0 0 5px var(--skin-color)}.filter-btn.active{background:rgba(var(--skin-color-rgb), .1);border-color:var(--skin-color);color:var(--skin-color);box-shadow:0 0 20px rgba(var(--skin-color-rgb), .4);text-shadow:0 0 8px var(--skin-color)}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:30px;margin-bottom:0;display:grid}.project-item.is-hidden,.is-hidden{display:none!important}.project-card{background:rgba(var(--skin-color-rgb), .02);border:1px solid rgba(var(--skin-color-rgb), .2);cursor:pointer;height:100%;box-shadow:0 0 15px rgba(var(--skin-color-rgb), .05);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:16px;flex-direction:column;transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1),border-color .35s;display:flex;position:relative;overflow:hidden}.project-card:hover{will-change:transform}.project-card:before{content:"";background:linear-gradient(90deg, transparent, var(--skin-color), transparent);opacity:.5;width:100%;height:2px;position:absolute;top:0;left:0}.project-item{min-width:0;height:100%;display:flex}.project-card:hover{border-color:var(--skin-color);box-shadow:0 16px 40px #00000026, 0 0 0 1px rgba(var(--skin-color-rgb), .3), 0 0 30px rgba(var(--skin-color-rgb), .08);transform:translateY(-6px)}.project-card:hover .project-actions .btn-card:not(.disabled){border-color:var(--skin-color)}.project-card:hover .project-actions .btn-github-card:not(.disabled){box-shadow:0 6px 16px #24292e66}.project-card:hover .project-actions .btn-demo-card:not(.disabled){box-shadow:0 6px 16px var(--skin-color-04)}.project-cover{aspect-ratio:16/9;background:var(--bg-black-900);width:100%;min-height:200px;display:block;position:relative;overflow:hidden}.project-cover img{object-fit:cover;background:var(--bg-black-900);width:100%;height:100%;min-height:100%;transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .3s;display:block}.project-cover:before{content:"";background:linear-gradient(135deg, var(--bg-black-900) 0%, var(--bg-black-100) 100%);z-index:0;opacity:0;width:100%;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.project-cover.img-error:before{opacity:1}.project-card:hover .project-cover img{transform:scale(1.05)}.project-card .project-content{flex-direction:column;flex:1;justify-content:space-between;min-height:0;padding:20px;display:flex;overflow:visible}.project-title{color:var(--text-black-900);margin-bottom:8px;font-size:20px;font-weight:700;line-height:1.3}.project-summary{color:var(--text-black-700);-webkit-line-clamp:3;line-clamp:3;text-overflow:ellipsis;-webkit-box-orient:vertical;flex:none;margin-bottom:16px;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.project-impact-chips{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.impact-chip{background:var(--bg-black-900);border:1px solid var(--bg-black-50);border-radius:12px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.impact-label{color:var(--text-black-700)}.impact-value{color:var(--skin-color);font-weight:600}.project-tech-chips{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.tech-chip{background:var(--bg-black-900);color:var(--text-black-700);border:1px solid var(--bg-black-50);border-radius:12px;padding:4px 10px;font-size:11px;font-weight:500;transition:all .2s;display:inline-block}.project-card:hover .tech-chip{border-color:var(--skin-color-03);color:var(--text-black-900)}::-webkit-scrollbar-thumb:hover{background:var(--skin-color);box-shadow:0 0 10px var(--skin-color)}.project-actions{visibility:visible;opacity:1;border-top:2px solid #ec183926;flex-shrink:0;align-items:stretch;gap:16px;height:auto;margin-top:auto;padding-top:24px;display:flex}.project-actions .btn-card:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.project-actions .btn-card:hover:not(.disabled):before{left:100%}.project-actions .btn-github-card,.project-actions .btn-github{color:#fff;background:linear-gradient(135deg,#1a1d23 0%,#24292e 50%,#0d1117 100%);border-color:#30363d;position:relative;box-shadow:0 4px 15px #0006,inset 0 1px #ffffff1a}.project-actions .btn-github-card:before{content:"";background:linear-gradient(45deg,#0000 30%,#ffffff1a 50%,#0000 70%);width:200%;height:200%;transition:all .6s;position:absolute;top:-50%;left:-50%;transform:rotate(45deg)}.project-actions .btn-github-card i,.project-actions .btn-github i{filter:drop-shadow(0 2px 4px #0000004d);font-size:18px;transition:all .4s cubic-bezier(.34,1.56,.64,1)}.project-actions .btn-github-card:hover:not(.disabled),.project-actions .btn-github:hover:not(.disabled){background:linear-gradient(135deg,#24292e 0%,#30363d 50%,#1a1d23 100%);border-color:#58a6ff;transform:translateY(-4px)scale(1.03);box-shadow:0 10px 30px #58a6ff4d,0 0 0 3px #58a6ff1a,inset 0 1px #ffffff26}.project-actions .btn-github-card:hover:not(.disabled):before{left:100%}.project-actions .btn-github-card:hover:not(.disabled) i,.project-actions .btn-github:hover:not(.disabled) i{filter:drop-shadow(0 0 8px #58a6ff80);transform:rotate(360deg)scale(1.15)}.project-actions .btn-demo-card,.project-actions .btn-demo{background:linear-gradient(135deg, var(--skin-color) 0%, var(--skin-gradient) 25%, var(--skin-color) 50%, var(--skin-gradient) 75%, var(--skin-color) 100%);color:#fff;box-shadow:0 6px 20px var(--skin-color-04), 0 0 0 1px #ffffff1a, inset 0 1px 0 #fff3;background-size:200% 200%;border-color:#0000;animation:3s infinite gradientShift;position:relative}.project-actions .btn-demo-card:after{content:"";background:linear-gradient(135deg, var(--skin-color), var(--skin-gradient), var(--skin-color));z-index:-1;opacity:0;filter:blur(15px);border-radius:14px;transition:opacity .3s;position:absolute;inset:-2px}.project-actions .btn-demo-card i,.project-actions .btn-demo i{filter:drop-shadow(0 2px 4px #0000004d);font-size:18px;transition:all .4s cubic-bezier(.34,1.56,.64,1)}.project-actions .btn-demo-card:hover:not(.disabled),.project-actions .btn-demo:hover:not(.disabled){box-shadow:0 12px 35px var(--skin-color-04), 0 0 0 3px var(--skin-color-03), inset 0 1px 0 #ffffff4d;filter:brightness(1.15);background-position:100%;border-color:#ffffff4d;transform:translateY(-4px)scale(1.03)}.project-actions .btn-demo-card:hover:not(.disabled):after{opacity:1}.project-actions .btn-demo-card:hover:not(.disabled) i,.project-actions .btn-demo:hover:not(.disabled) i{filter:drop-shadow(0 0 10px #fffc);transform:scale(1.2)translate(3px)rotate(-10deg)}@keyframes pulse-demo{0%,to{box-shadow:0 4px 12px var(--skin-color-03)}50%{box-shadow:0 4px 20px var(--skin-color-04), 0 0 30px var(--skin-color-02)}}.project-actions .btn-demo-card:not(.disabled),.project-actions .btn-demo:not(.disabled){animation:3s ease-in-out infinite pulse-demo}.project-actions .btn-internal-card{color:#d0d0d0;cursor:default;pointer-events:none;opacity:.85;background:linear-gradient(135deg,#4a4e57 0%,#5a5e67 50%,#3a3e47 100%);border-color:#6a6e77;font-size:12px}.project-actions .btn-internal-card i{font-size:14px}.project-actions .btn-card[title]:hover:after{content:attr(title);color:#fff;white-space:nowrap;z-index:1000;pointer-events:none;opacity:0;background:#000000e6;border-radius:6px;padding:8px 12px;font-size:12px;animation:.3s forwards tooltipFadeIn;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.project-actions .btn-card[title]:hover:before{content:"";z-index:1000;opacity:0;border:6px solid #0000;border-top-color:#000000e6;animation:.3s forwards tooltipFadeIn;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%)translateY(5px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.project-actions .btn-github-card.is-disabled,.project-actions .btn-demo-card.is-disabled,.project-actions .btn-github-card.disabled,.project-actions .btn-demo-card.disabled,.project-actions .btn-github.is-disabled,.project-actions .btn-demo.is-disabled,.project-actions .btn-github.disabled,.project-actions .btn-demo.disabled{cursor:not-allowed;filter:grayscale()brightness(.5);pointer-events:none;position:relative;opacity:.35!important;background:linear-gradient(135deg,#1a1a1a,#0d0d0d)!important;border-color:#2a2a2a!important;animation:none!important;box-shadow:0 2px 6px #00000026!important}.project-actions .btn-card.is-disabled,.project-actions .btn-card.disabled{position:relative}.project-actions .btn-card.is-disabled:hover,.project-actions .btn-card.disabled:hover{opacity:.35!important;transform:none!important}.project-actions .btn-card.is-disabled:after,.project-actions .btn-card.disabled:after{display:none}.project-actions .btn-github-card.is-disabled:hover,.project-actions .btn-demo-card.is-disabled:hover,.project-actions .btn-github-card.disabled:hover,.project-actions .btn-demo-card.disabled:hover,.project-actions .btn-github.is-disabled:hover,.project-actions .btn-demo.is-disabled:hover,.project-actions .btn-github.disabled:hover,.project-actions .btn-demo.disabled:hover{box-shadow:none;filter:grayscale();transform:none}.project-actions .btn-github-card.is-disabled,.project-actions .btn-github-card.disabled,.project-actions .btn-github.is-disabled,.project-actions .btn-github.disabled,.project-actions .btn-demo-card.is-disabled,.project-actions .btn-demo-card.disabled,.project-actions .btn-demo.is-disabled,.project-actions .btn-demo.disabled{background:var(--bg-black-50);border-color:var(--bg-black-50);color:var(--text-black-700)}.project .project-heading{flex:0 0 100%;max-width:100%;margin-bottom:40px}.project .project-heading h2{color:var(--text-black-900);font-weight:500}.project-card .overlay,.project-card:hover .overlay{opacity:0!important;pointer-events:none!important;display:none!important}.modal{z-index:1000;background:#000c;justify-content:center;align-items:center;width:100%;height:100dvh;animation:.5s ease-in-out fadeIn;display:none;position:fixed;top:0;left:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-black-100);text-align:center;border:1px solid var(--bg-black-50);border-radius:16px;width:90%;max-width:780px;max-height:calc(100dvh - 24px);padding:0;animation:.5s ease-out slideIn;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0006}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:var(--bg-black-900);border-radius:10px;margin:10px 0}.modal-content::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--skin-color), var(--skin-gradient));border-radius:10px;transition:background .3s}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--skin-color);box-shadow:0 0 10px var(--skin-color-03)}.modal-content{scrollbar-width:thin;scrollbar-color:var(--skin-color) var(--bg-black-900)}@keyframes slideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-content img{border-radius:10px;max-width:100%;margin:0;box-shadow:0 4px 15px #0003}.modal-content h2{color:var(--text-black-900);text-align:left;border-bottom:1px solid var(--bg-black-50);margin:0;padding:20px 50px 16px 24px;font-size:22px}.modal-content p{color:var(--text-black-700);margin-bottom:0;font-size:15px;line-height:1.7}.case-study-content{text-align:left;margin:20px 0;position:relative;overflow:visible}.project-modal-content{text-align:left;margin:0;position:relative;overflow:visible}.modal-hero{border-radius:16px 16px 0 0;width:100%;max-height:340px;position:relative;overflow:hidden}.modal-hero img{object-fit:cover;width:100%;height:340px;box-shadow:none;border-radius:0;margin:0;display:block}.modal-body{text-align:left;padding:24px}.modal-section{align-items:flex-start;gap:14px;margin-bottom:24px;display:flex}.modal-section:last-child{margin-bottom:0}.modal-section-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-top:2px;font-size:16px;display:flex}.modal-section-problem .modal-section-icon{color:#ef4444;background:#ef44441f}.modal-section-solution .modal-section-icon{color:#22c55e;background:#22c55e1f}.modal-section-tech .modal-section-icon{color:#3b82f6;background:#3b82f61f}.modal-section-results .modal-section-icon{color:#f59e0b;background:#f59e0b1f}.modal-section-outcome .modal-section-icon{background:var(--skin-color-02);color:var(--skin-color)}.modal-section-content{flex:1;min-width:0}.modal-section-content h3{text-transform:uppercase;letter-spacing:.6px;color:var(--text-black-700);margin-bottom:8px;font-size:13px;font-weight:700}.modal-section-content p{color:var(--text-black-700);margin:0;font-size:14.5px;line-height:1.7}.modal-impact-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.modal-impact-card{background:var(--bg-black-900);border:1px solid var(--bg-black-50);border-radius:10px;flex-direction:column;gap:4px;padding:14px 16px;transition:border-color .2s;display:flex}.modal-impact-card:hover{border-color:var(--skin-color-03)}.modal-impact-card-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-black-700);opacity:.7;font-size:11px;font-weight:700}.modal-impact-card-value{color:var(--skin-color);font-size:13.5px;font-weight:600;line-height:1.4}.modal-links{border-top:1px solid var(--bg-black-50);gap:12px;margin-top:24px;padding-top:20px;display:flex}.modal-link-btn{border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.modal-link-github{color:#fff;background:#24292e}.modal-link-github:hover{background:#333;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.modal-link-demo{background:var(--skin-color);color:#fff}.modal-link-demo:hover{box-shadow:0 4px 12px var(--skin-color-03);transform:translateY(-2px)}.case-study-block{background:var(--bg-black-100);border:1px solid var(--bg-black-50);border-radius:12px;margin-bottom:25px;padding:20px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000d}.case-study-block:before{content:"";background:linear-gradient(180deg, var(--skin-color), var(--skin-gradient));border-radius:12px 0 0 12px;width:4px;position:absolute;top:0;bottom:0;left:0}.case-study-block h3{color:var(--text-black-900);z-index:1;align-items:center;gap:10px;margin-bottom:12px;font-size:18px;font-weight:700;display:flex;position:relative}.case-study-block h3 i{color:var(--skin-color);font-size:18px}.case-study-block p{color:var(--text-black-700);z-index:1;margin:0;font-size:15px;line-height:1.7;position:relative}.modal-impact-chips{flex-wrap:wrap;gap:10px;margin-bottom:15px;display:flex}.modal-impact-chip{background:var(--bg-black-900);border:1px solid var(--skin-color-03);border-radius:12px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.modal-impact-chip .impact-label{color:var(--text-black-700)}.modal-impact-chip .impact-value{color:var(--skin-color);font-weight:600}.stack-tags{z-index:1;flex-wrap:wrap;gap:10px;margin-top:10px;display:flex;position:relative}.stack-tag{background:var(--bg-black-900);color:var(--skin-color);border:1px solid var(--skin-color-03);border-radius:20px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .3s;display:inline-block}.stack-tag:hover{background:var(--skin-color-02);border-color:var(--skin-color);box-shadow:0 4px 12px var(--skin-color-02);transform:translateY(-2px)}.project .project-content{flex:0 0 100%;max-width:100%}.project-icon{color:var(--skin-color);margin-bottom:20px;font-size:48px}.project-item h3{color:var(--text-black-900);margin-bottom:15px;font-size:22px;font-weight:700}.project-item p{color:var(--text-black-700);margin-bottom:20px;font-size:15px;line-height:1.7}.project-link{color:var(--skin-color);align-items:center;gap:8px;font-size:14px;font-weight:600;transition:all .3s;display:inline-flex}.project-link:hover{color:var(--skin-gradient);transform:translate(5px)}.close{cursor:pointer;color:var(--text-black-700);z-index:10;background:var(--bg-black-100);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:28px;transition:color .3s;display:flex;position:absolute;top:12px;right:16px}.close:hover{color:var(--skin-color)}.modal-buttons{justify-content:center;gap:20px;margin-top:20px;display:flex}.modal-buttons .btn{text-transform:uppercase;border-radius:12px;gap:10px;padding:12px 30px;font-weight:600;display:inline-flex;box-shadow:0 4px 15px #0003}.modal-buttons .btn:before{background:#fff3;left:-100%;transform:skew(-45deg)}.modal-buttons .btn:hover:before{left:100%}.modal-buttons .btn:hover{box-shadow:0 8px 25px #0000004d}.modal .btn-github,.modal-buttons .btn-github{color:#fff;background:#24292e}.modal .btn-github:hover,.modal-buttons .btn-github:hover{color:gold;background:#333}.modal-buttons .btn:not(.btn-github):not(.btn-case-study):not(.btn-demo){background:var(--skin-color);color:#fff}.modal-buttons .btn:not(.btn-github):not(.btn-case-study):not(.btn-demo):hover{background:var(--skin-color)}@media (width<=991.98px){.modal-content{width:92%;max-width:92%}.modal-hero{max-height:280px}.modal-hero img{height:280px}}@media (width<=768px){#projectModal .modal-content{padding-top:calc(6px + env(safe-area-inset-top));padding-bottom:calc(10px + env(safe-area-inset-bottom))}#projectModal .close{top:calc(8px + env(safe-area-inset-top));border:1px solid var(--bg-black-50);-webkit-backdrop-filter:blur(6px);z-index:30;background:#0e1117e0;width:44px;height:44px;margin-left:auto;margin-right:10px;font-size:26px;position:sticky;right:auto}.modal-content{width:95%;max-width:95%;padding:0}.modal-content h2{padding:16px 44px 14px 16px;font-size:18px}.modal-content p{font-size:14px}.close{width:32px;height:32px;font-size:22px;top:8px;right:10px}.modal-hero{max-height:200px}.modal-hero img{height:200px}.modal-body{padding:16px}#projectModal .modal-body{padding-bottom:calc(20px + env(safe-area-inset-bottom))}.modal-section{gap:10px;margin-bottom:18px}.modal-section-icon{width:30px;height:30px;font-size:13px}.modal-section-content h3{font-size:12px}.modal-section-content p{word-break:break-word;font-size:13.5px}.modal-impact-grid{grid-template-columns:1fr}.modal-impact-card{padding:12px 14px}.modal-impact-card-value{word-break:break-word}.modal-links{flex-direction:column}.modal-link-btn{justify-content:center}.stack-tags{gap:8px}.stack-tag{padding:6px 12px;font-size:12px}.modal-buttons{flex-direction:column;gap:10px}.modal-buttons .btn{width:100%;padding:10px 20px;font-size:14px}.modal-buttons .btn+.btn{margin-top:10px}.modal-content img{margin:0}}@media (width<=480px){#projectModal .modal-content{padding-top:calc(6px + env(safe-area-inset-top));padding-bottom:calc(10px + env(safe-area-inset-bottom))}#projectModal .close{top:calc(6px + env(safe-area-inset-top));width:42px;height:42px;margin-right:8px;font-size:24px}.modal-content{border-radius:12px;width:98%;max-width:98%;max-height:calc(100dvh - 10px)}.modal-content h2{padding:14px 40px 12px 14px;font-size:16px}.modal-content p{font-size:13px}.close{width:28px;height:28px;font-size:20px;top:6px;right:8px}.modal-hero{border-radius:12px 12px 0 0;max-height:160px}.modal-hero img{height:160px}.modal-body{padding:14px}#projectModal .modal-body{padding-bottom:calc(18px + env(safe-area-inset-bottom))}.modal-section{gap:8px;margin-bottom:14px}.modal-section-icon{border-radius:8px;width:26px;height:26px;font-size:12px}.modal-section-content h3{margin-bottom:6px;font-size:11px}.modal-section-content p{font-size:12.5px;line-height:1.6}.modal-impact-card{padding:10px 12px}.modal-impact-card-label{font-size:10px}.modal-impact-card-value{font-size:12.5px}.stack-tags{gap:6px}.stack-tag{padding:5px 10px;font-size:11px}.modal-links{margin-top:16px;padding-top:14px}.modal-link-btn{padding:8px 16px;font-size:13px}.modal-buttons{gap:5px}.modal-buttons .btn{padding:8px 15px;font-size:12px}.modal-buttons .btn+.btn{margin-top:5px}.modal-content img{margin:0}}@media (height<=500px) and (orientation:landscape){.modal-content{max-height:calc(100dvh - 10px)}.modal-hero{max-height:120px}.modal-hero img{height:120px}.modal-body{padding:12px 16px}.modal-section{margin-bottom:12px}}.certifications .certification-item{flex:0 0 33.33%;max-width:33.33%;margin-bottom:30px}@media (width<=991.98px){.certifications .certification-item{flex:0 0 50%;max-width:50%}}@media (width<=575.98px){.certifications .certification-item{flex:0 0 100%;max-width:100%}.cert-preview img{height:120px}}.certifications .certification-box{background:linear-gradient(135deg, var(--bg-black-100) 0%, var(--bg-black-50) 100%);text-align:center;border:2px solid var(--bg-black-50);border-radius:16px;flex-direction:column;height:100%;margin-bottom:20px;padding:25px;transition:all .4s cubic-bezier(.25,.46,.45,.94);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000014}.certifications .certification-box:before{content:"";background:linear-gradient(90deg, transparent 0%, var(--skin-color-02) 30%, var(--skin-color-04) 50%, var(--skin-color-02) 70%, transparent 100%);opacity:0;border-radius:16px 16px 0 0;height:2px;transition:opacity .4s;position:absolute;top:0;left:0;right:0}.certifications .certification-box:hover{box-shadow:0 12px 35px #0000001f, 0 0 0 1px var(--skin-color-02), 0 0 25px var(--skin-color-03);border-color:var(--skin-color-02);background:linear-gradient(135deg, var(--bg-black-100) 0%, #ec183905 100%);transform:translateY(-8px)scale(1.02)}.certifications .certification-box:hover:before{opacity:.8}.cert-badge{background:linear-gradient(135deg, var(--bg-black-50) 0%, var(--bg-black-100) 100%);border:2px solid var(--skin-color-02);border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;margin:0 auto 18px;transition:all .4s cubic-bezier(.25,.46,.45,.94);display:flex;position:relative;overflow:visible;box-shadow:0 4px 15px #00000014}.cert-badge:before{content:"";background:linear-gradient(135deg, var(--skin-color-02), var(--skin-color-03));opacity:0;z-index:-1;border-radius:50%;transition:opacity .4s;position:absolute;inset:-3px}.cert-badge i{color:var(--skin-color);filter:drop-shadow(0 2px 4px #0000001a);z-index:1;font-size:32px;transition:all .4s;position:relative}.cert-award .cert-badge{background:linear-gradient(135deg,#ffc10726,#ffd7001a);border-width:2px;border-color:#ffc10780;position:relative;box-shadow:0 4px 15px #ffc10733}.cert-award .cert-badge:before{content:"";z-index:-1;opacity:0;background:linear-gradient(135deg,#ffc1074d,#ffd70033);border-radius:50%;transition:opacity .3s;position:absolute;inset:-3px}.cert-award .cert-badge:after{content:"⭐";border:2px solid var(--bg-black-100);background:linear-gradient(135deg,gold,#ffed4e);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;line-height:1;animation:2s ease-in-out infinite starPulse;display:flex;position:absolute;top:-8px;right:-8px;box-shadow:0 3px 10px #ffc10780}@keyframes starPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.15)}}.cert-award .cert-badge i{color:#ffa000;filter:drop-shadow(0 2px 4px #ffc1074d)}.cert-award:hover .cert-badge:before{opacity:1}.certifications .certification-box:hover .cert-badge{border-color:var(--skin-color);box-shadow:0 8px 25px var(--skin-color-04);transform:scale(1.1)rotate(5deg)}.certifications .certification-box:hover .cert-badge:before{opacity:.3}.certifications .certification-box:hover .cert-badge i{filter:drop-shadow(0 4px 8px var(--skin-color-03));transform:scale(1.1)}.cert-award:hover .cert-badge{border-color:#ffc10799}.cert-award:hover .cert-badge:after{box-shadow:0 3px 12px #ffc10799}.cert-header{padding:0 0 18px;position:relative}.cert-header h3{color:var(--text-black-900);word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;justify-content:center;align-items:center;min-height:50px;margin-bottom:12px;font-size:17px;font-weight:600;line-height:1.5;display:flex}.cert-type{background:linear-gradient(135deg, var(--bg-black-50) 0%, var(--bg-black-100) 100%);color:var(--text-black-800);text-transform:uppercase;letter-spacing:.8px;border:1px solid var(--skin-color-02);border-radius:6px;padding:6px 16px;font-size:10px;font-weight:700;transition:all .4s;display:inline-block;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000d}.cert-type:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.certifications .certification-box:hover .cert-type:before{left:100%}.cert-award .cert-type{color:#b8860b;background:linear-gradient(135deg,#ffc10733,#ffd70026);border-color:#ffc10766;font-weight:700;position:relative;overflow:hidden}.cert-award .cert-type:before{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.cert-award:hover .cert-type:before{left:100%}.certifications .certification-box:hover .cert-type{background:linear-gradient(135deg, var(--skin-color-02) 0%, var(--skin-color-03) 100%);color:#fff;border-color:var(--skin-color);box-shadow:0 4px 15px var(--skin-color-04);transform:translateY(-2px)}body:not(.dark) .cert-type{-webkit-backdrop-filter:blur(10px)saturate(180%);border:2px solid rgba(var(--skin-color-rgb), .3);color:var(--skin-color);box-shadow:0 4px 15px rgba(var(--skin-color-rgb), .15), 0 0 0 1px #ffffff80 inset, 0 2px 8px #0000000d;letter-spacing:1px;background:#ffffffe6;border-radius:25px;padding:8px 20px;font-size:11px;font-weight:700;transition:all .5s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}body:not(.dark) .cert-type:before{background:linear-gradient(90deg,#0000,#fff6,#0000)}body:not(.dark) .certifications .certification-box:hover .cert-type{background:linear-gradient(135deg, rgba(var(--skin-color-rgb), .95), var(--skin-color));-webkit-backdrop-filter:blur(15px)saturate(200%);border-color:var(--skin-color);color:#fff;box-shadow:0 8px 30px rgba(var(--skin-color-rgb), .4), 0 0 0 3px rgba(var(--skin-color-rgb), .2), 0 0 40px rgba(var(--skin-color-rgb), .3), 0 4px 15px rgba(var(--skin-color-rgb), .2), inset 0 1px 0 #ffffff4d;border-width:2px;transform:translateY(-4px)scale(1.05)}body:not(.dark) .cert-award .cert-type{-webkit-backdrop-filter:blur(10px)saturate(180%);color:#b8860b;background:#ffffffe6;border:2px solid #ffc10766;box-shadow:0 4px 15px #ffc10733,inset 0 0 0 1px #ffffff80,0 2px 8px #0000000d}body:not(.dark) .cert-award:hover .cert-type{-webkit-backdrop-filter:blur(15px)saturate(200%);color:#8b6914;background:linear-gradient(135deg,#ffc107f2,#ffd700e6);border-width:2px;border-color:#ffc107e6;transform:translateY(-4px)scale(1.05);box-shadow:0 8px 30px #ffc10766,0 0 0 3px #ffc10733,0 0 40px #ffc1074d,0 4px 15px #ffc10740,inset 0 1px #ffffff4d}.cert-award:hover .cert-type{color:#8b6914;background:linear-gradient(135deg,#ffc1074d,#ffd70033);border-color:#ffc10799;box-shadow:0 2px 8px #ffc1074d}.cert-image-wrapper{width:100%;max-width:240px;margin:0 auto;padding:0 0 18px;position:relative}.certificate-img{cursor:pointer;border:2px solid var(--bg-black-50);background:var(--bg-black-50);border-radius:12px;width:100%;height:auto;transition:all .4s cubic-bezier(.25,.46,.45,.94);position:relative;box-shadow:0 4px 15px #0000001a}.certificate-img:after{content:"";background:linear-gradient(135deg, var(--skin-color-02) 0%, transparent 100%);opacity:0;pointer-events:none;border-radius:12px;transition:opacity .4s;position:absolute;inset:0}.certificate-img:hover{box-shadow:0 8px 30px #0003, 0 0 0 2px var(--skin-color-02), 0 0 20px var(--skin-color-03);border-color:var(--skin-color);transform:scale(1.08)translateY(-3px)}.certificate-img:hover:after{opacity:.15}.cert-footer{border-top:1px solid var(--bg-black-50);flex-direction:column;gap:10px;margin-top:auto;padding:18px 0 0;display:flex;position:relative}.cert-org,.cert-date{color:var(--text-black-800);justify-content:center;align-items:center;gap:10px;font-size:14px;transition:all .3s;display:flex}.cert-org i,.cert-date i{color:var(--skin-color);opacity:.9;font-size:15px;transition:all .3s}.certifications .certification-box:hover .cert-org,.certifications .certification-box:hover .cert-date{color:var(--text-black-900)}.certifications .certification-box:hover .cert-org i,.certifications .certification-box:hover .cert-date i{color:var(--skin-color);opacity:1;transform:scale(1.1)}.cert-award{background:linear-gradient(135deg, var(--bg-black-100) 0%, #ffc10705 100%);border:2px solid #ffc1074d;position:relative;overflow:hidden}.cert-award:before{content:"";opacity:.8;background:linear-gradient(90deg,#0000 0%,#ffc10780 20%,#ffd70099 50%,#ffc10780 80%,#0000 100%);border-radius:12px 12px 0 0;height:4px;animation:3s ease-in-out infinite shimmer;position:absolute;top:0;left:0;right:0}@keyframes shimmer{0%,to{opacity:.6}50%{opacity:1}}.cert-award:after{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle,#ffc1070d 0%,#0000 70%);width:200%;height:200%;transition:opacity .5s;position:absolute;top:-50%;left:-50%}.cert-award:hover{border-color:#ffc10799;transform:translateY(-6px);box-shadow:0 8px 30px #0000001f,0 0 0 1px #ffc1074d,0 0 20px #ffc10726}.cert-award:hover:before{opacity:1;background:linear-gradient(90deg,#0000 0%,#ffc107b3 20%,#ffd700cc 50%,#ffc107b3 80%,#0000 100%)}.cert-award:hover:after{opacity:1}.cert-link{color:inherit;height:100%;text-decoration:none;display:block}.cert-preview{border:1px solid var(--bg-black-50);border-radius:10px;width:100%;margin-bottom:15px;transition:all .4s;position:relative;overflow:hidden}.cert-preview img{object-fit:contain;object-position:center;background:var(--bg-black-50);width:100%;height:180px;transition:all .4s;display:block}.certifications .certification-box:hover .cert-preview{border-color:var(--skin-color-02);box-shadow:0 4px 15px #0000001a}.certifications .certification-box:hover .cert-preview img{transform:scale(1.05)}.cert-award:hover .cert-preview{border-color:#ffc10780;box-shadow:0 4px 15px #ffc10726}.cert-view-hint{color:var(--skin-color);opacity:0;letter-spacing:.5px;margin-top:12px;padding:8px 0 0;font-size:12px;font-weight:600;transition:all .3s;transform:translateY(5px)}.cert-view-hint i{margin-right:4px;font-size:11px}.certifications .certification-box:hover .cert-view-hint,.cert-link:focus-within .cert-view-hint{opacity:1;transform:translateY(0)}.cert-award:hover .cert-view-hint,.cert-link:focus-within .cert-award .cert-view-hint{color:#b8860b}.certificate-modal{z-index:1000;background:#000000e6;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.certificate-modal img{cursor:pointer;border-radius:10px;max-width:95%;max-height:95%;transition:transform .3s,box-shadow .3s;box-shadow:0 8px 25px #0003}.certificate-modal .close-modal,.certificate-modal .close{top:calc(12px + env(safe-area-inset-top));color:#fff;cursor:pointer;z-index:20;background:#00000073;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:30px;transition:all .25s;display:flex;position:absolute;right:30px}.certificate-modal .close-modal:hover,.certificate-modal .close:hover{color:#ff4b5c;background:#0000009e;border-color:#ff4b5ca6}@keyframes floatIcon{0%,to{transform:translate(0,0)scale(1)}25%{transform:translateY(-8px)scale(1.02)}50%{transform:translateY(-12px)scale(1.03)}75%{transform:translateY(-8px)scale(1.02)}}@media (width<=767.98px){.overlay-title{font-size:18px}.overlay-summary{font-size:12px}.overlay-actions{flex-direction:column}.btn-overlay-case-study,.btn-overlay-github,.btn-overlay-demo{width:100%;min-width:auto}.cert-header h3{min-height:auto;font-size:14px}.cert-badge{width:60px;height:60px}.cert-badge i{font-size:28px}.cert-award .cert-badge:after{width:18px;height:18px;font-size:9px;top:-5px;right:-5px}.cert-image-wrapper{max-width:200px}.cert-footer{padding:15px 0 0}.cert-org,.cert-date{font-size:13px}.cert-view-hint{font-size:11px}}.contact-title{color:var(--skin-color);text-align:center;letter-spacing:1px;width:100%;margin-bottom:20px;font-size:25px;font-weight:600;display:inline-block;position:relative}.contact-title:after{content:"";background:linear-gradient(90deg, transparent, var(--skin-color), transparent);border-radius:2px;width:60px;height:3px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.contact-subtitle{text-align:center;color:var(--text-black-700);margin-top:15px;margin-bottom:30px;font-size:15px;font-weight:400}.contact-sub-title{color:var(--text-black-900);text-align:center;opacity:.8;letter-spacing:2px;text-transform:uppercase;margin-top:30px;margin-bottom:60px;font-size:15px;font-weight:500}.contact .contact-info-item{text-align:center;background:var(--bg-black-100);border:1px solid var(--bg-black-50);z-index:1;cursor:default;border-radius:16px;flex:0 0 calc(25% - 30px);max-width:calc(25% - 30px);margin:0 15px 60px;padding:35px 20px;transition:all .4s cubic-bezier(.23,1,.32,1);position:relative;overflow:hidden;box-shadow:0 10px 30px #00000008}.contact .contact-info-item:before{content:"";background-image:linear-gradient(rgba(var(--skin-color-rgb), .05) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--skin-color-rgb), .05) 1px, transparent 1px);opacity:0;z-index:-1;background-size:20px 20px;width:100%;height:100%;transition:opacity .4s;position:absolute;top:0;left:0}.contact .contact-info-item:is(:hover,:active,:focus-visible,.is-touch-active){border-color:var(--skin-color);box-shadow:0 15px 40px var(--skin-color-03), inset 0 0 20px rgba(var(--skin-color-rgb), .05);transform:translateY(-10px)}.contact .contact-info-item:is(:hover,:active,:focus-visible,.is-touch-active):before{opacity:1;animation:20s linear infinite gridMove}@keyframes gridMove{0%{background-position:0 0}to{background-position:20px 20px}}.contact .contact-info-item .icon{z-index:2;background:var(--bg-black-50);border:1px solid var(--bg-black-50);border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;margin-bottom:25px;transition:all .4s;display:inline-flex;position:relative;box-shadow:inset 0 0 10px #0003}.contact .contact-info-item:is(:hover,:active,:focus-visible,.is-touch-active) .icon{border-color:var(--skin-color);box-shadow:0 0 20px rgba(var(--skin-color-rgb), .4), inset 0 0 15px rgba(var(--skin-color-rgb), .2);background:0 0;transform:scale(1.1)}.contact .contact-info-item .icon .fa,.contact .contact-info-item .icon .fab{color:var(--skin-color);font-size:26px;transition:all .4s}.contact .contact-info-item:is(:hover,:active,:focus-visible,.is-touch-active) .icon .fa,.contact .contact-info-item:is(:hover,:active,:focus-visible,.is-touch-active) .icon .fab{filter:drop-shadow(0 0 5px var(--skin-color));transform:scale(1.1)}.contact .contact-info-item p a{color:var(--text-black-700);word-break:break-all;text-decoration:none;transition:color .3s;display:inline}.contact .contact-info-item p a:hover{color:var(--skin-color)}.contact .contact-info-item h4{color:var(--text-black-900);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;font-size:18px;font-weight:700}.contact .contact-info-item p{color:var(--text-black-700);margin-bottom:0;font-size:15px;line-height:1.6}.contact .contact-form{background:var(--bg-black-100);border:1px solid var(--bg-black-50);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;flex:0 0 100%;max-width:100%;padding:50px 40px;position:relative;overflow:hidden;box-shadow:0 15px 50px #0000001a}body.dark .contact .contact-form{border-color:#ffffff14;background:#0a0a0a99!important;box-shadow:0 0 30px #0003!important}.contact .contact-form .col-6{flex:0 0 50%;max-width:50%}.contact .contact-form .col-12{flex:0 0 100%;max-width:100%}.contact .contact-form .form-item{margin-bottom:35px;position:relative}.contact .contact-form .form-group{position:relative}.contact .contact-form .form-control{border:2px solid var(--bg-black-50);width:100%;height:55px;color:var(--text-black-900);z-index:1;background:0 0;border-radius:8px;outline:none;padding:0 20px;font-family:Poppins,sans-serif;font-size:16px;transition:all .3s}body.dark .contact .contact-form .form-control{color:#fff;border-color:#ffffff26}.contact .contact-form textarea.form-control{resize:none;height:180px;padding-top:15px}.contact .contact-form select.form-control{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:40px}.contact .contact-form select.form-control:invalid{color:var(--text-black-700)}.contact .contact-form select.form-control option{background:var(--bg-black-100);color:var(--text-black-900)}.contact .contact-form select.form-control:focus~.form-label,.contact .contact-form select.form-control:valid~.form-label{color:var(--skin-color);font-size:13px;font-weight:600;top:-10px;left:15px}.contact .contact-form .form-control:focus{border-color:var(--skin-color);box-shadow:0 0 0 4px rgba(var(--skin-color-rgb), .1);background:0 0}.contact .contact-form .form-label{color:var(--text-black-700);background:var(--bg-black-100);pointer-events:none;z-index:2;padding:0 5px;font-size:16px;transition:all .3s;position:absolute;top:15px;left:20px}body.dark .contact .contact-form .form-label{color:#fff9;background:#151515}.contact .contact-form .form-control:focus~.form-label,.contact .contact-form .form-control:not(:placeholder-shown)~.form-label{color:var(--skin-color);font-size:13px;font-weight:600;top:-10px;left:15px}.contact-form .form-item .form-control.is-invalid{border-color:#ff4d4d;animation:.3s ease-in-out shake;box-shadow:0 0 5px #ff4d4d4d}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.contact .contact-form .btn{letter-spacing:1px;text-transform:uppercase;background:var(--skin-color);color:#fff;cursor:pointer;border:none;border-radius:50px;align-items:center;gap:10px;height:55px;padding:0 35px;font-size:16px;font-weight:600;transition:all .3s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 5px 15px #00000026}.contact .contact-form .btn i{transition:transform .3s}.contact .contact-form .btn:hover i{transform:translate(5px)rotate(-10deg)}.contact .contact-form .btn:before{content:"";z-index:-1;background:#ffffff4d;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact .contact-form .btn:hover:before{width:300px;height:300px}.contact .contact-form .btn:hover{box-shadow:0 15px 40px var(--skin-color-04), 0 5px 15px #0003;transform:translateY(-5px)scale(1.05)}.contact .contact-form .btn:active{transform:translateY(-2px)scale(1.02)}.contact .contact-form .btn:after{content:"→";opacity:0;font-size:20px;transition:all .3s;position:absolute;top:50%;right:30px;transform:translateY(-50%)}.contact .contact-form .btn:hover:after{opacity:1;right:25px}@media (width<=1199px){.section .container{padding-top:70px}.aside{left:-270px}.aside.open{left:0}.aside .nav-toggler{display:flex;left:30px}.aside .nav-toggler.open{left:30px}.section,.section.open{left:0}.about .about-content .personal-info .info-item p span{margin-left:0}}@media (width<=991.98px){.contact .contact-info-item{flex:0 0 calc(50% - 30px);max-width:calc(50% - 30px);margin-bottom:30px;margin-left:15px;margin-right:15px}.contact .contact-cards-row{justify-content:center}.contact .contact-form{padding:30px 20px}.project-card{border-radius:12px}.project-card .project-content{padding:16px}.home .row{text-align:center;flex-direction:column-reverse;align-items:center}.home .home-info{flex:0 0 100%;max-width:100%}.home .home-img{flex:none;max-width:200px;margin-bottom:20px}.home .home-img img{width:auto;height:200px}.home .btn-download{width:auto;min-height:48px;padding:14px 36px;font-size:15px}.home .home-info p{margin-left:auto;margin-right:auto}}@media (width<=767.98px){.section{height:100dvh;min-height:100dvh;padding:0 16px;padding-bottom:calc(80px + env(safe-area-inset-bottom))}.aside .nav-toggler,.aside .nav-toggler.open{left:16px}.home{align-items:flex-start;min-height:100dvh}.home .row{justify-content:flex-start;gap:12px}.contact .contact-form{padding:25px 15px}.contact .contact-form .col-6,.contact .contact-info-item,.about .about-content .experience,.about .about-content .education,.about .about-content .about-text{flex:0 0 100%;max-width:100%}.about .about-content .personal-info{flex:0 0 100%;max-width:100%;margin-top:32px;padding-left:15px}.about .about-content .about-text h3{margin-bottom:12px;font-size:20px}.about-bullet-list li{padding:14px 0 14px 22px;font-size:15px}.about .about-content .about-text p{margin-top:20px}.about-profile-img{margin-top:8px;margin-bottom:24px}.about-stats{gap:10px;margin-bottom:28px}.about-stats .stat-item{min-width:0;padding:14px 8px}.about-stats .stat-number{word-break:break-all;font-size:18px}.about-stats .stat-label{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.about-github{margin-top:24px;margin-bottom:20px}.about .section-title{margin-bottom:32px}.project-title{font-size:18px}.project-card .project-content{padding:16px}.project-actions{flex-direction:column;gap:10px}.project-actions .btn-github-card,.project-actions .btn-demo-card,.project-actions .btn-github,.project-actions .btn-demo{width:100%;min-width:auto;padding:12px 20px;font-size:13px}.project-actions .btn-card i{font-size:14px}.project-actions .btn-card.is-disabled,.project-actions .btn-card.disabled{opacity:.3!important}.overlay-title{font-size:20px}.overlay-summary{font-size:13px}.contact .contact-info-item{flex:0 0 100%;width:100%;min-width:0;max-width:100%;margin:0 0 25px;padding:25px 14px}.contact .contact-info-item.padd-15{padding-left:14px;padding-right:14px}.contact .contact-info-item p,.contact .contact-info-item p a{overflow-wrap:anywhere;word-break:break-all;-webkit-hyphens:none;hyphens:none}.contact .contact-info-item p{font-size:13px}.contact .container{overflow-x:clip}.contact .contact-cards-row{justify-content:center;margin-left:0;margin-right:0}.contact .contact-info-item .icon{border-color:rgba(var(--skin-color-rgb), .35);box-shadow:0 0 16px rgba(var(--skin-color-rgb), .16), inset 0 0 12px rgba(var(--skin-color-rgb), .1)}.contact .contact-info-item .icon .fa,.contact .contact-info-item .icon .fab{filter:drop-shadow(0 0 4px rgba(var(--skin-color-rgb), .45))}.contact .contact-info-item.is-touch-active .icon{border-color:var(--skin-color);box-shadow:0 0 22px rgba(var(--skin-color-rgb), .42), inset 0 0 15px rgba(var(--skin-color-rgb), .2);background:0 0;transform:scale(1.1)}.contact .contact-info-item.is-touch-active:before{opacity:1;animation:18s linear infinite gridMove}.contact .contact-info-item.is-touch-active .icon .fa,.contact .contact-info-item.is-touch-active .icon .fab{filter:drop-shadow(0 0 6px var(--skin-color));transform:scale(1.1)}.contact .contact-info-item.is-touch-active{border-color:var(--skin-color);box-shadow:0 14px 35px rgba(var(--skin-color-rgb), .25), inset 0 0 20px rgba(var(--skin-color-rgb), .06);transform:translateY(-8px)}.contact .contact-info-item{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.contact .contact-info-item:hover{border-color:var(--bg-black-50);transform:none;box-shadow:0 10px 30px #00000008}.contact .contact-info-item:hover:before{opacity:0;animation:none}.contact .contact-info-item:hover .icon{background:var(--bg-black-50);border-color:rgba(var(--skin-color-rgb), .35);box-shadow:0 0 16px rgba(var(--skin-color-rgb), .16), inset 0 0 12px rgba(var(--skin-color-rgb), .1);transform:none}.contact .contact-info-item:hover .icon .fa,.contact .contact-info-item:hover .icon .fab{filter:drop-shadow(0 0 4px rgba(var(--skin-color-rgb), .45));transform:none}.contact .contact-info-item .icon{width:60px;height:60px;margin-bottom:15px;line-height:60px}.contact .contact-info-item .icon .fa{font-size:24px}.contact .contact-form .form-item{margin-bottom:24px}.contact .contact-form .btn{letter-spacing:.04em;text-transform:none;background:linear-gradient(135deg, var(--skin-color) 0%, rgba(var(--skin-color-rgb), .86) 100%);width:100%;height:52px;min-height:52px;box-shadow:0 10px 24px rgba(var(--skin-color-rgb), .3), inset 0 1px 0 #ffffff47;border:1px solid #ffffff24;border-radius:16px;justify-content:center;gap:10px;padding:0 18px;font-size:15px;font-weight:700}.contact .contact-form .btn:before,.contact .contact-form .btn:after{content:none}.contact .contact-form .btn i{background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;display:inline-flex;transform:none}.contact .contact-form .btn:hover{box-shadow:0 10px 24px rgba(var(--skin-color-rgb), .3), inset 0 1px 0 #ffffff47;transform:none}.contact .contact-form .btn:active{box-shadow:0 6px 16px rgba(var(--skin-color-rgb), .28), inset 0 1px 0 #ffffff3d;transform:translateY(1px)}.contact .contact-form .btn:disabled{opacity:.72;cursor:not-allowed;transform:none}.about .about-content .about-text,.about .about-content .personal-info{flex:0 0 100%;max-width:100%;padding-left:15px}.about-profile-img{display:none}.about-stats{justify-content:center}.about .about-content .personal-info .info-item{flex:0 0 100%;max-width:100%}.home .container{width:100%;padding-top:clamp(12px,2.2vh,20px);padding-bottom:calc(24px + env(safe-area-inset-bottom));margin:0 auto}h1.hello{margin:10px 0;font-size:22px;line-height:1.35}h1.hello span.name{font-size:20px}h2.my-profession{white-space:normal;margin:10px 0;font-size:18px}.home-info p{margin-bottom:14px;font-size:15px;line-height:1.7}.home .btn-download{width:auto;min-height:46px;padding:12px 30px;font-size:15px;display:inline-flex}.home .home-img{margin-top:clamp(4px,1.5vh,14px);margin-bottom:12px}.home .home-img img{height:clamp(160px,28vh,200px)}.skills .skills-content .dev-icons{font-size:2.3rem}.skills .skills-content .skills-text .fa-ul{margin-top:20px}.section .container{padding-bottom:calc(120px + env(safe-area-inset-bottom));margin-bottom:40px}.skills .skills-content .text-workflow{margin-bottom:100px}.skills .skills-content .skills-text-description{font-size:.9rem}.skills .skills-content{margin-bottom:40px}.skills .skills-content .skills-text h3{margin-bottom:20px}.skills-tags{gap:12px;margin-top:20px}.skill-tag{padding:10px 18px;font-size:13px}.home-img:before{border-width:3px!important;width:40px!important;height:40px!important;top:-8px!important;left:-8px!important}.home-img:after{border-width:3px!important;width:40px!important;height:40px!important;bottom:-8px!important;right:-8px!important}}@media (width<=480px){.section{padding:0 12px}}@media (width<=767.98px) and (orientation:portrait) and (height>=620px){.home .container{padding-top:clamp(40px,8.5vh,96px)}.home .row{gap:16px}.home .home-img{margin-top:clamp(20px,5vh,56px)}}@media (width<=767.98px) and (orientation:landscape) and (height<=430px){.home .container{padding-top:6px;padding-bottom:10px}.home .row{text-align:left;flex-direction:row;justify-content:center;align-items:flex-start;gap:14px}.home .home-img{flex:0 0 130px;max-width:130px;margin-bottom:0}.home .home-img img{height:120px}.home .home-info{flex:auto;max-width:440px}h1.hello{margin:0 0 6px;font-size:18px;line-height:1.25}h1.hello span.name{font-size:18px}h2.my-profession{white-space:normal;margin:0 0 6px;font-size:15px;line-height:1.25}.home-info p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:10px;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.home .btn-download{min-height:40px;padding:10px 22px;font-size:13px}}.image-wrapper{display:inline-block;position:relative}.home-img img{z-index:1;filter:drop-shadow(0 10px 30px var(--skin-color-03));border-radius:10px;transition:all .4s;position:relative}.home-img:hover img{filter:drop-shadow(0 15px 40px var(--skin-color-05));transform:scale(1.02)}html{scroll-behavior:smooth}.section-title h2{text-shadow:0 2px 10px #0000001a;letter-spacing:-.5px;animation:.8s ease-out fadeInUp}body.dark .section-title h2{text-shadow:0 2px 20px rgba(var(--skin-color-rgb), .15)}body:not(.dark) .section-title h2{text-shadow:0 1px 3px #00000014, 0 2px 8px rgba(var(--skin-color-rgb), .1);color:#1a1d23}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.dev-icons .list-inline-item{cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);display:inline-block;position:relative}.dev-icons .list-inline-item i{transition:all .3s;display:block}.dev-icons .list-inline-item:hover{transform:translateY(-10px)scale(1.15)}.dev-icons .list-inline-item:hover i{filter:brightness(1.2) drop-shadow(0 0 10px var(--skin-color-03));animation:.6s pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.certification-box{border:2px solid #0000;transition:all .4s cubic-bezier(.25,.46,.45,.94);position:relative;overflow:visible}.certification-box:before{content:"";background:linear-gradient(135deg, var(--skin-color), var(--skin-gradient));opacity:0;z-index:-1;border-radius:10px;transition:opacity .4s;position:absolute;inset:-2px}.certification-box:hover:before{opacity:.4}.certification-box:hover{box-shadow:0 15px 35px var(--skin-color-03);border-color:var(--skin-color);transform:translateY(-8px)}.timeline-item{transition:all .3s;position:relative}.timeline-item:hover{transform:translate(10px)}.timeline-item:before{content:"";background:var(--bg-black-50);width:2px;height:100%;transition:background .3s;position:absolute;top:0;left:-20px}.timeline-item:hover:before{background:var(--skin-color)}.social-links a{transition:all .3s cubic-bezier(.25,.46,.45,.94);display:inline-block;position:relative}.social-links a:before{content:"";background:var(--skin-color-02);border-radius:50%;width:0;height:0;transition:width .3s,height .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.social-links a:hover:before{width:50px;height:50px}.social-links a:hover{color:var(--skin-color);transform:translateY(-5px)scale(1.1)}.modal-content.interest-gallery{width:90%;max-width:900px}.interest-gallery .gallery-image-container{background:var(--bg-black-900);border:1px solid var(--bg-black-50);border-radius:10px;flex-wrap:wrap;justify-content:center;gap:15px;max-height:60vh;margin-top:20px;padding:15px;display:flex;overflow-y:auto}.interest-gallery .gallery-image-container img{object-fit:cover;cursor:pointer;border-radius:8px;width:100%;max-width:250px;height:auto;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 10px #0003}.interest-gallery .gallery-image-container img:hover{transform:scale(1.05);box-shadow:0 8px 20px #0000004d}.image-viewer-modal{z-index:10000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000f2}.image-viewer-modal .close-image-viewer{color:#fff;cursor:pointer;z-index:10001;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:32px;font-weight:300;line-height:1;transition:all .3s;display:flex;position:absolute;top:20px;right:40px}.image-viewer-modal .close-image-viewer:hover{color:var(--skin-color);background:#fff3;transform:rotate(90deg)scale(1.1)}.image-viewer-content{justify-content:center;align-items:center;width:100%;height:100%;padding:60px 80px;display:flex;position:relative}.image-viewer-content img{object-fit:contain;border-radius:10px;max-width:90%;max-height:90vh;animation:.3s fadeInScale;box-shadow:0 20px 60px #00000080}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.image-viewer-prev,.image-viewer-next{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;z-index:10001;-webkit-user-select:none;user-select:none;background:#ffffff1a;border:2px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;padding:15px 20px;font-size:30px;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.image-viewer-prev:hover,.image-viewer-next:hover{background:var(--skin-color);border-color:var(--skin-color);box-shadow:0 5px 20px var(--skin-color-04);transform:translateY(-50%)scale(1.1)}.image-viewer-prev:active,.image-viewer-next:active{transform:translateY(-50%)scale(.95)}@media (width<=767.98px){.image-viewer-content{padding:0}.image-viewer-content img{max-width:100%;max-height:100vh}.image-viewer-modal .close-image-viewer{width:35px;height:35px;font-size:28px;top:10px;right:15px}.image-viewer-prev,.image-viewer-next{width:50px;height:50px;padding:10px 15px;font-size:24px}.image-viewer-prev{left:15px}.image-viewer-next{right:15px}}.interest-gallery .empty-gallery{color:var(--text-black-700);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.interest-gallery .empty-gallery i{opacity:.5;color:var(--text-black-700);margin-bottom:15px;font-size:60px}.interest-gallery .empty-gallery span{opacity:.7;font-size:16px}.progress-in{animation:1.5s ease-out progressFill}@keyframes progressFill{0%{width:0}}.about-content,.skills-content,.certification-box,.interest-box{transition:box-shadow .3s}.about-content:hover,.skills-content:hover{box-shadow:0 10px 30px #0000001a}.name{background:linear-gradient(135deg, var(--skin-color), var(--skin-gradient), #4ecdc4);-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 8px rgba(var(--skin-color-rgb), .3));letter-spacing:-.5px;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;font-weight:700;animation:3s infinite gradientShift}img{transition:opacity .3s}img[loading=lazy]{opacity:0;animation:.5s forwards fadeIn}:focus-visible{outline:3px solid var(--skin-color);outline-offset:3px;border-radius:4px}button:focus-visible,a:focus-visible{outline:3px solid var(--skin-color);outline-offset:2px;box-shadow:0 0 0 4px rgba(var(--skin-color-rgb), .2)}input:focus-visible,textarea:focus-visible{outline:3px solid var(--skin-color);outline-offset:2px;box-shadow:0 0 0 4px rgba(var(--skin-color-rgb), .15)}body:not(.dark) :focus-visible{outline:3px solid var(--skin-color);outline-offset:3px;box-shadow:0 0 0 4px rgba(var(--skin-color-rgb), .2)}body:not(.dark) button:focus-visible,body:not(.dark) a:focus-visible{outline:3px solid var(--skin-color);outline-offset:2px;box-shadow:0 0 0 4px rgba(var(--skin-color-rgb), .25), 0 4px 12px rgba(var(--skin-color-rgb), .15)}.section::-webkit-scrollbar{width:10px}.section::-webkit-scrollbar-track{background:var(--bg-black-900);border-radius:10px}.section::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--skin-color), var(--skin-gradient));border-radius:10px;transition:background .3s}.section::-webkit-scrollbar-thumb:hover{background:var(--skin-color);box-shadow:0 0 10px var(--skin-color-03)}.section{scrollbar-width:thin;scrollbar-color:var(--skin-color) var(--bg-black-900)}.interest-gallery .gallery-image-container::-webkit-scrollbar{width:8px}.interest-gallery .gallery-image-container::-webkit-scrollbar-track{background:var(--bg-black-900);border-radius:10px}.interest-gallery .gallery-image-container::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--skin-color), var(--skin-gradient));border-radius:10px;transition:background .3s}.interest-gallery .gallery-image-container::-webkit-scrollbar-thumb:hover{background:var(--skin-color)}.interest-gallery .gallery-image-container{scrollbar-width:thin;scrollbar-color:var(--skin-color) var(--bg-black-900)}@media (width<=992px){.projects-grid{grid-template-columns:repeat(2,1fr);gap:20px}.filter-btn{padding:8px 20px;font-size:13px}}@media (width<=768px){.projects-grid{grid-template-columns:1fr;gap:16px}.project-filter{gap:8px}.filter-btn{min-height:44px;padding:10px 16px;font-size:12px}}@media (width<=480px){.projects-grid{gap:12px}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.project-card{flex-direction:column;height:100%;display:flex}.project-card .project-content{flex-direction:column;flex:1;justify-content:space-between;padding:20px;display:flex}.project-actions{border-top:2px solid var(--skin-color-02);visibility:visible;opacity:1;gap:16px;margin-top:auto;padding-top:24px;display:flex}.project-actions .btn-card{text-transform:uppercase;letter-spacing:1px;cursor:pointer;white-space:nowrap;visibility:visible;opacity:1;border:2px solid;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:12px;padding:16px 28px;font-size:15px;font-weight:800;text-decoration:none;transition:all .35s cubic-bezier(.34,1.56,.64,1);display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 15px #0000001a}.project-actions .btn-github-card{color:#fff;background:linear-gradient(135deg,#1a1d23 0%,#24292e 50%,#0d1117 100%);border-color:#30363d}.project-actions .btn-demo-card{background:linear-gradient(135deg, var(--skin-color) 0%, var(--skin-gradient) 25%, var(--skin-color) 50%, var(--skin-gradient) 75%, var(--skin-color) 100%);border-color:var(--skin-color-03);color:#fff}.project-actions .btn-card:hover{transform:translateY(-4px)scale(1.03)}.theme-toggle{border:2px solid var(--bg-black-50);background:var(--bg-black-100);cursor:pointer;z-index:1000;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:all .3s;display:flex;position:fixed;top:20px;right:20px;box-shadow:0 2px 10px #00000026}.theme-toggle:hover{border-color:var(--skin-color);transform:scale(1.1);box-shadow:0 4px 15px #00000040}body.dark .theme-toggle .fa-sun{color:#f59e0b;font-size:16px;display:block}body.dark .theme-toggle .fa-moon{display:none}body:not(.dark) .theme-toggle .fa-moon{color:#6366f1;font-size:16px;display:block}body:not(.dark) .theme-toggle .fa-sun{display:none}.back-to-top{background:var(--skin-color);color:#fff;z-index:999;opacity:0;visibility:hidden;border-radius:50%;justify-content:center;align-items:center;width:45px;height:45px;font-size:18px;text-decoration:none;transition:all .3s;display:flex;position:fixed;bottom:30px;right:30px;transform:translateY(20px);box-shadow:0 5px 15px #00000026}.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--skin-color-03);color:#fff;transform:translateY(-3px);box-shadow:0 8px 20px #00000040}@media (width>=768px){body.has-webmcp-widget .back-to-top{bottom:92px}}#neural-canvas{z-index:0;opacity:.6;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.home .container{z-index:1;position:relative}#skills-canvas{max-width:100%}.skills-sphere-container{justify-content:center;align-items:center;width:100%;min-height:500px;display:flex;position:relative;overflow:hidden}.tagcloud{display:inline-block;position:relative}.tagcloud-item{text-transform:uppercase;color:var(--skin-color);cursor:pointer;-webkit-user-select:none;user-select:none;padding:2px 5px;font-size:18px;font-weight:600;transition:transform .3s,opacity .3s,color .3s}.tagcloud-item:hover{text-shadow:0 0 10px var(--skin-color);z-index:100;transform:scale(1.4);color:#fff!important}@media (width<=768px){.skills-sphere-container{display:none}}.nav li a,.btn,.social-icon a,.nav li a:hover,.btn:hover,.social-icon a:hover,.nav li a{z-index:1;position:relative}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#151515}::-webkit-scrollbar-thumb{background:var(--skin-color);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#fff}.service-item .service-item-inner,.contact-info-item{transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1),border-color .35s}body.dark .service-item .service-item-inner:hover,body.dark .contact-info-item:is(:hover,:active,:focus-visible,.is-touch-active){box-shadow:0 10px 25px #00000080, 0 0 15px var(--skin-color);border-color:var(--skin-color);transform:translateY(-6px)}body:not(.dark) .service-item .service-item-inner:hover,body:not(.dark) .contact-info-item:is(:hover,:active,:focus-visible,.is-touch-active){box-shadow:0 16px 40px #0000001a, 0 0 0 1px rgba(var(--skin-color-rgb), .2), 0 0 20px rgba(var(--skin-color-rgb), .06);border-color:var(--skin-color);transform:translateY(-6px)}@media (hover:none),(pointer:coarse){.contact .contact-info-item:hover:not(.is-touch-active),body.dark .contact-info-item:hover:not(.is-touch-active),body:not(.dark) .contact-info-item:hover:not(.is-touch-active){border-color:var(--bg-black-50);transform:none;box-shadow:0 10px 30px #00000008}.contact .contact-info-item:hover:not(.is-touch-active):before{opacity:0;animation:none}.contact .contact-info-item:hover:not(.is-touch-active) .icon{background:var(--bg-black-50);border-color:var(--bg-black-50);transform:none;box-shadow:inset 0 0 10px #0003}.contact .contact-info-item:hover:not(.is-touch-active) .icon .fa,.contact .contact-info-item:hover:not(.is-touch-active) .icon .fab{filter:none;transform:none}}body:not(.dark) .project-card{border:1px solid rgba(var(--skin-color-rgb), .12);-webkit-backdrop-filter:blur(20px)saturate(180%);background:#ffffffd9;box-shadow:0 4px 20px #0000000f,0 0 0 1px #00000008,inset 0 1px #fffc}body:not(.dark) .project-card:hover{border-color:var(--skin-color);box-shadow:0 16px 40px #0000001a, 0 0 0 1px rgba(var(--skin-color-rgb), .15), 0 0 30px rgba(var(--skin-color-rgb), .1), inset 0 1px 0 #fff;transform:translateY(-6px)}body:not(.dark) .certifications .certification-box{-webkit-backdrop-filter:blur(20px)saturate(180%);background:#fff;border:2px solid #e1e4e8;border-radius:20px;box-shadow:0 8px 30px #00000014,0 2px 8px #0000000a,inset 0 1px #fff}body:not(.dark) .certifications .certification-box:hover{border-color:var(--skin-color);box-shadow:0 25px 70px #0000002e, 0 0 0 3px rgba(var(--skin-color-rgb), .15), 0 0 50px rgba(var(--skin-color-rgb), .25), 0 10px 30px rgba(var(--skin-color-rgb), .1), inset 0 1px 0 #fff;background:#fff;border-width:3px;transform:translateY(-12px)scale(1.03)}body:not(.dark) .certifications .certification-box:before{opacity:0;height:4px;transition:opacity .4s cubic-bezier(.34,1.56,.64,1)}body:not(.dark) .certifications .certification-box:hover:before{opacity:1;height:5px;box-shadow:0 0 20px rgba(var(--skin-color-rgb), .5)}body:not(.dark) .cert-award{background:linear-gradient(135deg,#fff 0%,#ffc1070d 100%);border:2px solid #ffc10766;box-shadow:0 8px 30px #ffc10726,0 2px 8px #0000000a}body:not(.dark) .cert-award:hover{border-width:3px;border-color:#ffc107e6;transform:translateY(-12px)scale(1.03);box-shadow:0 25px 70px #ffc1074d,0 0 0 3px #ffc10733,0 0 50px #ffc1074d,0 10px 30px #ffc10733,inset 0 1px #fff}body:not(.dark) .certificate-img{border:2px solid #e1e4e8;box-shadow:0 8px 25px #0000001a,0 2px 6px #0000000d}body:not(.dark) .certificate-img:hover{border-color:var(--skin-color);box-shadow:0 20px 50px #0003, 0 0 0 3px rgba(var(--skin-color-rgb), .15), 0 0 40px rgba(var(--skin-color-rgb), .25), 0 8px 25px rgba(var(--skin-color-rgb), .15);border-width:3px;transition:all .5s cubic-bezier(.34,1.56,.64,1);transform:scale(1.08)translateY(-5px)rotate(-1deg)}.home-img{z-index:1;position:relative}.home-img:after,.home-img:before{opacity:1!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;animation:none!important;transform:none!important}.home-img:before{z-index:-1;width:80px;height:80px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:absolute;top:-15px;left:-15px;content:""!important;border-top:5px solid var(--skin-color)!important;border-left:5px solid var(--skin-color)!important}.home-img:after{z-index:-1;width:80px;height:80px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:absolute;bottom:-15px;right:-15px;content:""!important;border-bottom:5px solid var(--skin-color)!important;border-right:5px solid var(--skin-color)!important}.home-img:hover:before{top:-25px;left:-25px}.home-img:hover:after{bottom:-25px;right:-25px}@keyframes glitch-anim{0%{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}to{transform:translate(0)}}.logo a:hover{text-shadow:2px 2px var(--skin-color), -2px -2px #0ff;animation:.3s cubic-bezier(.25,.46,.45,.94) infinite both glitch-anim;display:inline-block}@keyframes blink-status{0%,to{opacity:.3}50%{opacity:1}}@keyframes blink-active{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}body:not(.dark) .project-title{color:#1a1d23;text-shadow:0 1px 2px #0000000d}body:not(.dark) .project-card:hover .project-title{color:var(--skin-color)}body:not(.dark) .project-summary{color:#495057}body:not(.dark) .project-card:hover .project-summary{color:#1a1d23}body:not(.dark) .tech-chip{color:#495057;background:#ffffffe6;border:1px solid #e1e4e8;box-shadow:0 2px 6px #0000000a}body:not(.dark) .project-card:hover .tech-chip{border-color:rgba(var(--skin-color-rgb), .3);color:#1a1d23;box-shadow:0 4px 12px rgba(var(--skin-color-rgb), .15);background:#fff}body:not(.dark) .impact-chip{background:#ffffffe6;border:1px solid #e1e4e8;box-shadow:0 2px 6px #0000000a}body:not(.dark) .impact-label{color:#495057}body:not(.dark) .impact-value{color:var(--skin-color);font-weight:700}body:not(.dark) .project-card:hover .impact-chip{border-color:rgba(var(--skin-color-rgb), .3);box-shadow:0 4px 12px rgba(var(--skin-color-rgb), .15);background:#fff}body:not(.dark) .contact .contact-form .form-item input,body:not(.dark) .contact .contact-form .form-item textarea{color:#1a1d23;background:#ffffffe6;border:2px solid #e1e4e8;box-shadow:0 2px 8px #0000000a,inset 0 1px #fff}body:not(.dark) .contact .contact-form .form-item input:focus,body:not(.dark) .contact .contact-form .form-item textarea:focus{border-color:var(--skin-color);box-shadow:0 4px 15px rgba(var(--skin-color-rgb), .15), 0 0 0 3px rgba(var(--skin-color-rgb), .1), inset 0 1px 0 #fff;background:#fff}body:not(.dark) .contact .contact-form .btn{background:linear-gradient(135deg, var(--skin-color), var(--skin-gradient));box-shadow:0 6px 20px rgba(var(--skin-color-rgb), .3)}body:not(.dark) .contact .contact-form .btn:hover{box-shadow:0 10px 30px rgba(var(--skin-color-rgb), .4), 0 0 0 3px rgba(var(--skin-color-rgb), .2)}body:not(.dark) .cert-badge{background:rgba(var(--skin-color-rgb), .1);border-color:rgba(var(--skin-color-rgb), .3);color:var(--skin-color)}body:not(.dark) .certifications .certification-box:hover .cert-badge{background:var(--skin-color);color:#fff;box-shadow:0 8px 25px rgba(var(--skin-color-rgb), .4), 0 0 0 4px rgba(var(--skin-color-rgb), .1), 0 0 30px rgba(var(--skin-color-rgb), .3);border-color:var(--skin-color);transform:scale(1.15)rotate(5deg)translateY(-3px)}body:not(.dark) .certifications .certification-box:hover .cert-badge i{filter:drop-shadow(0 2px 8px #0000004d);transform:scale(1.1);color:#fff!important}body:not(.dark) .cert-award:hover .cert-badge{background:#ffc107f2}body:not(.dark) .cert-award:hover .cert-badge i{filter:drop-shadow(0 2px 8px #0000004d);transform:scale(1.1);color:#fff!important}body:not(.dark) .cert-header h3{color:#1a1d23;text-shadow:0 1px 2px #0000000d}body:not(.dark) .certifications .certification-box:hover .cert-header h3,body:not(.dark) .cert-org i,body:not(.dark) .cert-date i{color:var(--skin-color)}body:not(.dark) .certifications .certification-box:hover .cert-org i,body:not(.dark) .certifications .certification-box:hover .cert-date i{filter:drop-shadow(0 2px 4px rgba(var(--skin-color-rgb), .3));transform:scale(1.15)}body:not(.dark) h1.hello span{text-shadow:1px 1px #ec183940,-1px -1px #0096c833}body:not(.dark) .home-info p{color:#1f2937}body:not(.dark) .aside{background:#fff;border-right:1px solid #d1d5db}body:not(.dark) .aside .nav li a{color:#1f2937;border-bottom:1px solid #e5e7eb}body:not(.dark) .aside .nav li a:hover,body:not(.dark) .aside .nav li a.active{color:var(--skin-color)}body:not(.dark) .aside .logo a{color:#111827}body:not(.dark) .section-title h2:after{opacity:.85}body:not(.dark) .btn:not(.btn-download):not(.hire-me){color:var(--skin-color);border-color:var(--skin-color);background:#fffc}body:not(.dark) .btn:not(.btn-download):not(.hire-me):hover{background:var(--skin-color);color:#fff}body:not(.dark) .skills .skills-content{margin-bottom:42px}body:not(.dark) .skills .skills-content>.row,body:not(.dark) .skills .skills-content .skills-text{border:1px solid #0000000f;border-left:3px solid var(--cat-color,var(--skin-color));-webkit-backdrop-filter:none;background:#ffffffb3;box-shadow:0 2px 12px #0000000d}body:not(.dark) .skills .skills-content .skills-text h3{border-bottom-color:#e5e7eb}body:not(.dark) .skills .skills-content .skills-text h3 i{background:color-mix(in srgb, var(--cat-color,var(--skin-color)) 10%, #f8fafc);border-color:color-mix(in srgb, var(--cat-color,var(--skin-color)) 20%, #e2e8f0)}body:not(.dark) .skill-level-badge.level-expert{color:#16a34a;border-color:#16a34a59}body:not(.dark) .skill-level-badge.level-proficient{color:#1d4ed8;border-color:#1d4ed859}body:not(.dark) .skill-level-badge.level-familiar{color:#b45309;border-color:#b4530959}body:not(.dark) .skill-level-badge.level-learning{color:#6d28d9;border-color:#6d28d959}body:not(.dark) .skills-icons{gap:12px}body:not(.dark) .skill-icon{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0f172a0d}body:not(.dark) .skill-icon i{background:color-mix(in srgb, var(--skill-accent) 12%, #fff);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--skill-accent) 22%, #fff)}body:not(.dark) .skill-icon span{color:#1f2937}body:not(.dark) .skill-icon:hover{border-color:color-mix(in srgb, var(--skill-accent) 45%, #cbd5e1);box-shadow:0 8px 18px #0f172a1a, 0 0 0 1px color-mix(in srgb, var(--skill-accent) 16%, #fff);transform:translateY(-2px)}body:not(.dark) .skill-icon:hover i{filter:none;transform:scale(1.05)}body:not(.dark) .scroll-down .mouse{border-color:#374151;box-shadow:0 0 8px #00000014}body:not(.dark) .home:before{opacity:.25}#skills-canvas{width:100%;height:100%;display:block}.image-viewer-modal{z-index:10000;opacity:0;pointer-events:none;background:#000000f2;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:none;position:fixed;top:0;left:0}.image-viewer-modal.open{opacity:1;pointer-events:auto;display:flex}.image-viewer-content{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.image-viewer-content img{object-fit:contain;-webkit-user-select:none;user-select:none;border-radius:0;max-width:100%;max-height:100vh;box-shadow:0 0 50px #00000080}.image-viewer-backdrop{z-index:-1;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.image-viewer-backdrop img{object-fit:cover;filter:blur(30px)brightness(.4);opacity:.6;width:100%;height:100%;transform:scale(1.1)}.close-image-viewer{color:#fffc;cursor:pointer;z-index:10010;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00000080;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:30px;font-weight:300;line-height:1;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:absolute;top:30px;right:40px}.close-image-viewer:hover{color:#fff;background:var(--skin-color);border-color:var(--skin-color);box-shadow:0 0 20px rgba(var(--skin-color-rgb), .5);transform:rotate(90deg)scale(1.1)}.image-viewer-prev,.image-viewer-next{color:#fffc;cursor:pointer;z-index:10001;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0006;border:1px solid #ffffff1a;border-radius:50%;outline:none;justify-content:center;align-items:center;width:60px;height:60px;font-size:24px;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.image-viewer-prev:hover,.image-viewer-next:hover{background:var(--skin-color);border-color:var(--skin-color);color:#fff;box-shadow:0 0 25px rgba(var(--skin-color-rgb), .6);transform:translateY(-50%)scale(1.15)}.image-viewer-prev{left:40px}.image-viewer-next{right:40px}.modal-content.interest-gallery{background:var(--bg-black-100);max-width:800px}.gallery-image-container{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:20px;display:grid}.gallery-image-container img{object-fit:cover;cursor:zoom-in;border:1px solid var(--bg-black-50);border-radius:8px;width:100%;height:200px;transition:transform .3s,box-shadow .3s}.gallery-image-container img:hover{border-color:var(--skin-color);transform:scale(1.03);box-shadow:0 5px 15px #0000004d}.empty-gallery{text-align:center;color:var(--text-black-700);grid-column:1/-1;padding:40px}.empty-gallery i{opacity:.5;margin-bottom:15px;font-size:40px;display:block}@media (width<=900px){.image-viewer-prev{left:20px}.image-viewer-next{right:20px}}@media (width<=768px){.image-viewer-prev,.image-viewer-next{background:#00000080;width:40px;height:40px;font-size:18px}.close-image-viewer{top:20px;right:20px}}.image-viewer-caption{text-align:center;color:#fff;text-shadow:0 1px 3px #000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;z-index:10020;background:#0009;border:1px solid #ffffff1a;border-radius:30px;width:auto;max-width:80%;padding:12px 25px;font-size:16px;font-weight:500;transition:all .4s cubic-bezier(.175,.885,.32,1.275) .1s;position:absolute;bottom:30px;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 10px 30px #0000004d}.image-viewer-modal.open .image-viewer-caption{opacity:1;transform:translate(-50%)translateY(0)}.image-viewer-content img{cursor:zoom-in;z-index:10002;transition:transform .3s cubic-bezier(.2,0,.2,1)}.image-viewer-content img.zoomed{cursor:zoom-out;z-index:10005;transform:scale(1.5)}.image-viewer-prev,.image-viewer-next,.close-image-viewer{z-index:10010}.interest-box .js-tilt-glare{display:none!important}.scroll-down{z-index:2;opacity:.8;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.scroll-down a{cursor:pointer;display:block}.scroll-down .mouse{border:2px solid var(--text-black-700);border-radius:20px;width:30px;height:50px;display:block;position:relative;box-shadow:0 0 10px #0000001a}.scroll-down .wheel{background:var(--skin-color);border-radius:2px;width:4px;height:8px;animation:1.5s infinite scroll;position:absolute;top:10px;left:50%;transform:translate(-50%)}@keyframes scroll{0%{opacity:1;top:10px}to{opacity:0;top:30px}}body.dark .scroll-down .mouse{box-shadow:0 0 15px rgba(var(--skin-color-rgb), .3);border-color:#ffffff80}@media (width<=768px){.scroll-down{display:none}}.skeleton{background:linear-gradient(90deg, rgba(var(--skin-color-rgb), .1) 25%, rgba(var(--skin-color-rgb), .2) 50%, rgba(var(--skin-color-rgb), .1) 75%);background-size:200% 100%;border-radius:8px;animation:1.5s ease-in-out infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:16px;margin-bottom:8px}.skeleton-text:last-child{width:60%}.skeleton-image{aspect-ratio:16/9;border-radius:12px;width:100%}.skeleton-card{background:rgba(var(--skin-color-rgb), .03);border-radius:16px;padding:20px}body:not(.dark) .skeleton{background:linear-gradient(90deg,#e1e4e8 25%,#f0f2f5 50%,#e1e4e8 75%) 0 0/200% 100%}body:not(.dark) .skeleton-card{background:#ffffff80;border:1px solid #e1e4e8}@media print{*{color:#000!important;box-shadow:none!important;text-shadow:none!important;background:#fff!important}.aside,.back-to-top,.style-switcher,.theme-toggle,.preloader,.nav-toggler,button:not(.print-visible),.project-actions,.filter-btn-container{display:none!important}.section{page-break-inside:avoid;opacity:1!important;visibility:visible!important;width:100%!important;position:static!important;left:0!important}.section-title h2{page-break-after:avoid;color:#000!important}.project-card,.certification-box,.interest-box{page-break-inside:avoid;box-shadow:none!important;border:1px solid #ccc!important}a[href^=http]:after{content:" (" attr(href) ")";color:#666;font-size:.8em}.main-content{margin-left:0!important;padding:20px!important}@page{margin:2cm}}.preloader{z-index:99999;background:#0c0a0b;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .5s,visibility .5s;display:flex;position:fixed;top:0;left:0}.preloader.fade-out{opacity:0;visibility:hidden}.loader-content{flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.loader-circle{border:3px solid rgba(var(--skin-color-rgb), .2);border-top:3px solid var(--skin-color);width:60px;height:60px;box-shadow:0 0 15px rgba(var(--skin-color-rgb), .2);border-radius:50%;margin-bottom:20px;animation:1s linear infinite spin}.loader-line-mask{pointer-events:none;width:100%;height:100%;animation:2s ease-in-out infinite pulse;position:absolute;top:0;left:0}.loader-text{color:var(--skin-color);letter-spacing:2px;font-family:Share Tech Mono,monospace;font-size:14px;animation:1s infinite alternate blink}@media (width<=991.98px){.contact .contact-info-item{min-width:0;flex:0 0 calc(50% - 16px)!important;width:auto!important;max-width:calc(50% - 16px)!important;margin:0 8px 20px!important;padding:22px 12px!important}.contact .contact-info-item.padd-15{padding-left:12px!important;padding-right:12px!important}.contact .row{justify-content:center}}@media (width>=768px) and (width<=991.98px){.section{padding-bottom:80px}}@media (width<=480px){.skills-icons{gap:7px}.skill-icon{border-radius:9px;gap:6px;padding:5px 9px}.skill-icon i{border-radius:7px;width:26px;height:26px;font-size:16px}.skill-icon span{font-size:11px}.section-title h2{letter-spacing:0;font-size:22px}.tl-tag{padding:2px 7px;font-size:10px}.about-stats{gap:8px}.stat-number{font-size:24px}.stat-label{font-size:10px}.about-github{margin:10px 0 14px}.home .home-img{max-width:160px}.home .home-img img{height:160px}.hello{font-size:22px}.my-profession{font-size:16px}.contact .contact-info-item{flex:0 0 100%!important;max-width:100%!important;margin:0 0 16px!important}}.skills .skills-text{border:1px solid #ffffff12;border-left:3px solid var(--cat-color,#ec183980);-webkit-backdrop-filter:blur(8px);box-sizing:border-box;background:linear-gradient(135deg,#ffffff08,#0000001f);border-radius:16px;height:100%;padding:20px 22px 16px;transition:border-color .3s,box-shadow .3s,background .3s;position:relative}.skills .skills-text:before{content:"";background:linear-gradient(90deg, transparent, var(--cat-color,#ec183980), transparent);pointer-events:none;opacity:.55;border-radius:1px;height:1px;position:absolute;top:0;left:20px;right:20px}.skills .skills-text:hover{border-color:#ffffff1c;border-left-color:var(--cat-color,var(--skin-color));box-shadow:0 12px 40px #0000004d, 0 0 0 1px color-mix(in srgb, var(--cat-color,var(--skin-color)) 15%, transparent)}.skills .skills-text h3{text-transform:uppercase;letter-spacing:.1em;color:var(--text-black-700);border-bottom:1px solid #ffffff0f;margin-bottom:14px;padding-bottom:12px;font-size:12px;font-weight:700}.skills .skills-content .skills-text h3 i{background:color-mix(in srgb, var(--cat-color,var(--skin-color)) 14%, transparent);border:1px solid color-mix(in srgb, var(--cat-color,var(--skin-color)) 25%, transparent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;min-width:30px;height:30px;font-size:14px;transition:transform .3s,box-shadow .3s;display:inline-flex;color:var(--cat-color,var(--skin-color))!important;margin-right:0!important}.skills .skills-text:hover h3 i{box-shadow:0 0 10px color-mix(in srgb, var(--cat-color,var(--skin-color)) 30%, transparent);transform:scale(1.08)}.skill-level-badge{text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;border-radius:20px;flex-shrink:0;margin-left:auto;padding:2px 9px;font-size:9.5px;font-weight:700}.skill-level-badge.level-expert{color:#4ade80;background:#22c55e1a;border:1px solid #22c55e4d}.skill-level-badge.level-proficient{color:#60a5fa;background:#3b82f61a;border:1px solid #3b82f64d}.skill-level-badge.level-familiar{color:#fbbf24;background:#f59e0b1a;border:1px solid #f59e0b4d}.skill-level-badge.level-learning{color:#a78bfa;background:#8b5cf61a;border:1px solid #8b5cf64d}@media (width>=992px){.skills .skills-content{flex:0 0 50%;max-width:50%;margin-bottom:24px}.skills .skills-content.skills-featured{flex:0 0 100%;max-width:100%}}.skills .skills-content.skills-featured .skills-text{background:linear-gradient(135deg,#8b5cf614,#06b6d408,#0000);border-color:#8b5cf633 #8b5cf633 #8b5cf633 #8b5cf6}.skills .skills-content.skills-featured .skills-text:before{opacity:.9;background:linear-gradient(90deg,#0000,#8b5cf699,#06b6d44d,#0000)}.skills .skills-content.skills-featured .skills-text:hover{border-color:#8b5cf64d #8b5cf64d #8b5cf64d #8b5cf6;box-shadow:0 16px 50px #00000059,0 0 50px #8b5cf612}.skills .skills-content.skills-featured .skills-text h3{letter-spacing:.12em;color:var(--text-black-900);font-size:14px}.about-stats .stat-item{background:linear-gradient(135deg,#ec18390d,#0000004d);border:1px solid #ec183926;border-radius:12px;transition:border-color .3s,box-shadow .3s,transform .3s;position:relative;overflow:hidden}.about-stats .stat-item:before{content:"";background:linear-gradient(90deg,#0000,#ec183980,#0000);height:1px;position:absolute;top:0;left:10%;right:10%}.about-stats .stat-item:hover{border-color:#ec183966;transform:translateY(-2px);box-shadow:0 4px 20px #ec183926}.about-stats .stat-number{font-size:24px;font-weight:800}.skills.section:before,.contact.section:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#ec18390f 0%,#0000 70%);width:300px;height:300px;position:absolute;top:-60px;right:-60px}.skills.section>*,.contact.section>*{z-index:1;position:relative}.contact .contact-info-item:hover{transform:translateY(-4px);border-color:#ec183980!important;box-shadow:0 0 0 1px #ec183933,0 8px 32px #ec183926,0 0 60px #ec18390f!important}.contact .contact-info-item:after{content:"";opacity:0;background:linear-gradient(90deg,#0000,#ec183966,#0000);height:2px;transition:opacity .35s;position:absolute;bottom:0;left:10%;right:10%}.contact .contact-info-item:hover:after{opacity:1}.project-card{-webkit-backdrop-filter:blur(16px)saturate(160%)!important;background:#ffffff0a!important;border:1px solid #ffffff14!important;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s,border-color .3s!important;box-shadow:0 8px 32px #00000059,inset 0 1px #ffffff14!important}.project-card:hover{border-color:#ec183966!important;transform:translateY(-10px)scale(1.01)!important;box-shadow:0 24px 60px #00000073,0 0 0 1px #ec183940,0 8px 30px #ec18391f,inset 0 1px #ffffff26!important}.project-card:after{content:"";border-radius:inherit;background:radial-gradient(280px circle at var(--mouse-x,50%) var(--mouse-y,50%), #ec18391a 0%, transparent 55%);opacity:0;pointer-events:none;z-index:1;transition:opacity .3s;position:absolute;inset:0}.project-card:hover:after{opacity:1}.skill-icon:hover{box-shadow:0 4px 16px #ec183933,0 0 20px #ec18391a,inset 0 0 8px #ec18390d!important}.section-title h2:before{background:linear-gradient(90deg, var(--skin-color), #ec183900)!important;height:2px!important}.certifications .certification-box{transition:transform .3s,box-shadow .3s,border-color .3s!important}.certifications .certification-box:hover{box-shadow:0 12px 40px #0003,0 0 30px #ec18391f!important}body:not(.dark){background-image:linear-gradient(135deg, rgba(var(--skin-color-rgb), .03) 0%, transparent 55%), linear-gradient(rgba(var(--skin-color-rgb), .04) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--skin-color-rgb), .04) 1px, transparent 1px);background-size:auto,30px 30px,30px 30px}body:not(.dark) .aside{box-shadow:4px 0 20px #0000000f}body:not(.dark) .skill-icon{border-color:rgba(var(--skin-color-rgb), .15);background:#fff;box-shadow:0 2px 8px #00000012}body:not(.dark) .skill-icon:hover{box-shadow:0 8px 20px #0000001a, 0 0 0 1px rgba(var(--skin-color-rgb), .3);background:#fff}body:not(.dark) .contact .contact-info-item .icon{background:rgba(var(--skin-color-rgb), .08);border-color:rgba(var(--skin-color-rgb), .2);box-shadow:0 4px 12px rgba(var(--skin-color-rgb), .08)}body:not(.dark) .contact .contact-info-item{box-shadow:0 4px 20px #00000014,0 1px 3px #0000000a}body:not(.dark) .shadow-dark{box-shadow:0 4px 20px #00000017,0 1px 4px #0000000d}body:not(.dark) .shadow-dark:hover{box-shadow:0 8px 28px #0000001f,0 2px 6px #0000000f}body:not(.dark) .about-stats .stat-item{border-color:rgba(var(--skin-color-rgb), .12);background:#fff;box-shadow:0 2px 8px #0000000f}body:not(.dark) .about-stats .stat-item:hover{border-color:var(--skin-color)}body:not(.dark) .about-profile-img img{box-shadow:0 4px 20px rgba(var(--skin-color-rgb), .25)}.timeline-tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tl-tag{background:rgba(var(--skin-color-rgb), .08);color:var(--skin-color);border:1px solid rgba(var(--skin-color-rgb), .2);letter-spacing:.3px;border-radius:12px;padding:3px 10px;font-family:Share Tech Mono,monospace;font-size:11px}.about-github{flex-direction:column;gap:10px;margin:16px 0 20px;display:flex}.about-github img{border-radius:10px;width:100%;height:auto;display:block}.skill-icon.skill-exploring{opacity:.75;border-style:dashed}.skill-icon.skill-exploring:hover{opacity:1}.availability-badge{color:#22c55e;letter-spacing:.3px;background:#22c55e1a;border:1px solid #22c55e59;border-radius:20px;align-items:center;gap:8px;margin-bottom:18px;padding:6px 14px;font-size:13px;font-weight:500;display:inline-flex}.badge-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s ease-in-out infinite pulse-green}@keyframes pulse-green{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.about-profile-img{justify-content:center;width:100%;margin-bottom:20px;display:inline-flex;position:relative}.about-profile-img:before{content:"";z-index:0;background:conic-gradient(#ec1839cc 0deg,#ec18391a 120deg,#ec183900 180deg,#ec183999 300deg,#ec1839cc 360deg);border-radius:50%;width:164px;height:164px;animation:4s linear infinite ring-spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.about-profile-img:after{content:"";background:var(--bg-black-900);z-index:1;border-radius:50%;width:156px;height:156px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.about-profile-img img{z-index:2;border:none;position:relative;box-shadow:0 0 24px #ec183940}@keyframes ring-spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.section-title h2:before{background:linear-gradient(90deg, var(--skin-color), #ec183900);width:0;height:2px;transition:none;position:absolute;bottom:0;left:0;content:""!important}.section-title.visible h2:before,.section.active .section-title h2:before{animation:.9s cubic-bezier(.4,0,.2,1) .3s forwards underline-draw}@keyframes underline-draw{0%{width:0}to{width:100%}}.skill-icon:hover{box-shadow:0 4px 16px rgba(var(--skin-color-rgb), .25), 0 0 24px color-mix(in srgb, var(--skill-accent) 40%, transparent), inset 0 0 10px rgba(var(--skin-color-rgb), .05)!important;border-color:color-mix(in srgb, var(--skill-accent) 50%, #ec18394d)!important}@media (width<=480px){.about-profile-img:before,.about-profile-img:after{display:none}.about-profile-img{display:block}.about-profile-img img{z-index:auto;border:3px solid var(--skin-color);position:static}.home-img:before{display:none}}.skills .skills-shell{flex-direction:column;flex:0 0 100%;gap:22px;max-width:100%;display:flex}.skills .skills-overview{border:1px solid rgba(var(--skin-color-rgb), .12);background:radial-gradient(circle at top left, rgba(var(--skin-color-rgb), .13), transparent 42%), linear-gradient(135deg, rgba(var(--skin-color-rgb), .08), transparent 58%), var(--bg-black-100);border-radius:24px;grid-template-columns:minmax(0,1.65fr) minmax(280px,.95fr);align-items:center;gap:22px;padding:28px 30px;display:grid;box-shadow:0 18px 36px #0f172a1a}.skills .skills-overview-copy{flex-direction:column;gap:10px;display:flex}.skills .skills-overview-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--skin-color);font-family:Share Tech Mono,monospace;font-size:11px;font-weight:700}.skills .skills-overview-title{letter-spacing:-.04em;max-width:17ch;color:var(--text-black-900);margin:0;font-size:34px;font-weight:700;line-height:1.08}.skills .skills-overview-text{max-width:62ch;color:var(--text-black-700);margin:0;font-size:15px;line-height:1.85}.skills .skills-overview-signals{gap:12px;display:grid}.skills .skills-signal{border:1px solid rgba(var(--skin-color-rgb), .12);background:rgba(var(--skin-color-rgb), .05);border-radius:18px;padding:14px 16px}.skills .skills-signal-label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-black-700);margin-bottom:6px;font-family:Share Tech Mono,monospace;font-size:10px;font-weight:700;display:block}.skills .skills-signal strong{color:var(--text-black-900);font-size:14px;font-weight:600;line-height:1.5;display:block}.skills .skills-board{grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;display:grid}.skills .skills-shell .skills-card.skills-text{border:1px solid color-mix(in srgb, var(--cat-color) 22%, #ffffff14);background:linear-gradient(160deg, color-mix(in srgb, var(--cat-color) 12%, transparent), transparent 60%), linear-gradient(180deg, #ffffff0a, #fff0), var(--bg-black-100);-webkit-backdrop-filter:none;border-radius:24px;flex-direction:column;grid-column:span 4;min-width:0;padding:26px;transition:transform .3s,border-color .3s,box-shadow .3s,background .3s;display:flex;position:relative;box-shadow:0 18px 36px #0f172a1c}.skills .skills-shell .skills-card.skills-text:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--cat-color) 55%, transparent), transparent);opacity:.9;border-radius:999px;height:1px;position:absolute;top:0;left:24px;right:24px}.skills .skills-shell .skills-card.skills-text:hover{border-color:color-mix(in srgb, var(--cat-color) 38%, #ffffff1f);box-shadow:0 24px 44px #0f172a24, 0 0 0 1px color-mix(in srgb, var(--cat-color) 18%, transparent);transform:translateY(-4px)}.skills .skills-shell .skills-card-featured.skills-text{grid-column:span 12;padding:30px}.skills .skills-shell .skills-card-wide.skills-text{grid-column:span 8}.skills .skills-shell .skills-card-compact.skills-text{grid-column:span 4}.skills .skills-shell .skills-card-muted.skills-text{background:linear-gradient(160deg, color-mix(in srgb, var(--cat-color) 8%, transparent), transparent 62%), linear-gradient(180deg, #ffffff05, #fff0), var(--bg-black-100)}.skills .skills-card-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.skills .skills-card-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--cat-color);font-family:Share Tech Mono,monospace;font-size:11px;font-weight:700}.skills .skills-card-badge{border:1px solid color-mix(in srgb, var(--cat-color) 22%, transparent);background:color-mix(in srgb, var(--cat-color) 10%, transparent);letter-spacing:.08em;text-transform:uppercase;color:var(--text-black-900);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-family:Share Tech Mono,monospace;font-size:10px;font-weight:700;display:inline-flex}.skills .skills-shell .skills-card h3{letter-spacing:-.02em;text-transform:none;color:var(--text-black-900);border:0;align-items:center;gap:12px;margin:0;padding:0;font-size:22px;font-weight:700;line-height:1.2;display:flex}.skills .skills-shell .skills-card-featured h3{font-size:30px}.skills .skills-shell .skills-card h3 i{background:color-mix(in srgb, var(--cat-color) 18%, transparent);border:1px solid color-mix(in srgb, var(--cat-color) 30%, transparent);width:42px;min-width:42px;height:42px;box-shadow:none;border-radius:14px;justify-content:center;align-items:center;margin:0;font-size:18px;display:inline-flex;transform:none;color:var(--cat-color)!important}.skills .skills-shell .skills-card:hover h3 i{box-shadow:none;transform:none}.skills .skills-card-description{color:var(--text-black-700);margin-top:14px;font-size:15px;line-height:1.75}.skills .skills-card-highlight{border-top:1px solid color-mix(in srgb, var(--cat-color) 18%, #ffffff14);color:var(--text-black-900);margin-top:16px;padding-top:16px;font-size:13px;line-height:1.7}.skills .skills-shell .skills-card-featured .skills-card-description{max-width:64ch}.skills .skills-cluster-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px;display:grid}.skills .skills-cluster{border:1px solid color-mix(in srgb, var(--cat-color) 18%, #ffffff14);background:color-mix(in srgb, var(--cat-color) 7%, transparent);border-radius:18px;min-width:0;padding:16px}.skills .skills-cluster-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-black-700);margin-bottom:12px;font-family:Share Tech Mono,monospace;font-size:11px;font-weight:700;display:block}.skills .skills-shell .skills-card .skills-icons{box-shadow:none;background:0 0;border:0;gap:10px;margin-top:18px;margin-bottom:0}.skills .skills-shell .skills-cluster .skills-icons{gap:9px;margin-top:0}.skills .skills-shell .skill-icon{background:color-mix(in srgb, var(--bg-black-900) 30%, var(--bg-black-100) 70%);border:1px solid color-mix(in srgb, var(--skill-accent) 14%, var(--bg-black-50));min-height:40px;box-shadow:none;border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 8px;display:inline-flex}.skills .skills-shell .skill-icon i{background:color-mix(in srgb, var(--skill-accent) 16%, transparent);width:28px;min-width:28px;height:28px;box-shadow:none;border-radius:999px;font-size:14px}.skills .skills-shell .skill-icon span{letter-spacing:.01em;color:var(--text-black-900);font-size:12.5px;font-weight:600}.skills .skills-shell .skill-icon:hover{background:color-mix(in srgb, var(--skill-accent) 8%, var(--bg-black-100));transform:translateY(-2px);border-color:color-mix(in srgb, var(--skill-accent) 32%, var(--bg-black-50))!important;box-shadow:0 12px 24px #0f172a1f!important}.skills .skills-shell .skill-icon:hover i{filter:none;transform:none}.skills .skills-shell .skill-icon:hover span{color:var(--text-black-900)}.skills .skills-shell .skill-familiar{border-style:dashed}.skills .skills-shell .skill-exploring{opacity:.82;border-style:dashed}.skills .skills-shell .skill-exploring:hover{opacity:1}body.dark .skills .skills-overview,body.dark .skills .skills-shell .skills-card.skills-text{box-shadow:0 22px 40px #00000047}body:not(.dark) .skills .skills-overview,body:not(.dark) .skills .skills-shell .skills-card.skills-text{background:linear-gradient(160deg, #ffffffc7, #fffffff5), var(--bg-black-100)}body:not(.dark) .skills .skills-shell .skills-card.skills-text{border-color:color-mix(in srgb, var(--cat-color) 16%, #d6dce6)}body:not(.dark) .skills .skills-signal{border-color:rgba(var(--skin-color-rgb), .12);background:#ffffffb8}body:not(.dark) .skills .skills-cluster{background:color-mix(in srgb, var(--cat-color) 8%, #fff);border-color:color-mix(in srgb, var(--cat-color) 16%, #dbe3ee)}body:not(.dark) .skills .skills-shell .skill-icon{background:#fff;border-color:#94a3b83d}body:not(.dark) .skills .skills-shell .skill-icon:hover{box-shadow:0 14px 28px #0f172a1a!important}@media (width<=991.98px){.skills .skills-overview{grid-template-columns:1fr;padding:24px}.skills .skills-overview-title{max-width:18ch;font-size:30px}.skills .skills-board{grid-template-columns:repeat(6,minmax(0,1fr))}.skills .skills-shell .skills-card.skills-text{grid-column:span 3}.skills .skills-shell .skills-card-featured.skills-text,.skills .skills-shell .skills-card-wide.skills-text,.skills .skills-shell .skills-card-compact.skills-text{grid-column:span 6}.skills .skills-cluster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767.98px){.skills .skills-shell{gap:18px}.skills .skills-overview{border-radius:20px;padding:20px}.skills .skills-overview-title{max-width:none;font-size:24px;line-height:1.15}.skills .skills-board{grid-template-columns:1fr}.skills .skills-shell .skills-card.skills-text,.skills .skills-shell .skills-card-featured.skills-text,.skills .skills-shell .skills-card-wide.skills-text,.skills .skills-shell .skills-card-compact.skills-text{border-radius:20px;grid-column:1/-1;padding:22px}.skills .skills-shell .skills-card h3{font-size:20px}.skills .skills-shell .skills-card-featured h3{font-size:24px}.skills .skills-cluster-grid{grid-template-columns:1fr}}.hero-metrics{flex-wrap:wrap;gap:24px;margin:32px 0 40px;display:flex}.hero-metric{background:rgba(var(--skin-color-rgb), .04);border:1px solid rgba(var(--skin-color-rgb), .15);border-radius:12px;flex-direction:column;align-items:center;min-width:90px;padding:16px 20px;transition:all .3s;display:flex;position:relative;overflow:hidden}.hero-metric:before{content:"";background:linear-gradient(90deg, transparent, var(--skin-color), transparent);opacity:0;width:100%;height:2px;transition:opacity .3s;position:absolute;top:0;left:0}.hero-metric:hover:before{opacity:1}.hero-metric:hover{border-color:var(--skin-color);box-shadow:0 8px 24px rgba(var(--skin-color-rgb), .15);transform:translateY(-3px)}.hero-metric-value{color:var(--skin-color);letter-spacing:-.5px;font-family:Share Tech Mono,monospace;font-size:28px;font-weight:800;line-height:1.2}.hero-metric-value.counted{animation:.4s cubic-bezier(.34,1.56,.64,1) metricPop}@keyframes metricPop{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.hero-metric-label{color:var(--text-black-700);text-transform:uppercase;letter-spacing:.8px;margin-top:4px;font-size:11px;font-weight:600}.about-github{background:rgba(var(--skin-color-rgb), .02);border:1px solid rgba(var(--skin-color-rgb), .12);text-align:center;border-radius:12px;margin:20px 0;padding:16px}.about-github-title{color:var(--text-black-900);justify-content:center;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:700;display:flex}.about-github-title i{color:var(--skin-color);font-size:16px}.about-github img{border-radius:8px;width:100%;max-width:100%;margin-bottom:8px}.about-github-link{color:var(--skin-color);align-items:center;gap:6px;margin-top:8px;font-size:13px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.about-github-link:hover{text-shadow:0 0 8px rgba(var(--skin-color-rgb), .4);transform:translate(3px)}.about-github-link i{font-size:11px}.modal-section-architecture .arch-flow{background:rgba(var(--skin-color-rgb), .03);border:1px solid rgba(var(--skin-color-rgb), .12);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:16px;display:flex}.arch-node{background:var(--bg-black-100);border:1.5px solid rgba(var(--skin-color-rgb), .3);color:var(--text-black-900);white-space:nowrap;border-radius:8px;align-items:center;padding:8px 14px;font-size:13px;font-weight:600;transition:all .3s;display:inline-flex;position:relative}.arch-node:before{content:"";background:linear-gradient(90deg, var(--skin-color), var(--skin-gradient));opacity:0;border-radius:8px 8px 0 0;height:2px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.arch-node:hover{border-color:var(--skin-color);box-shadow:0 4px 12px rgba(var(--skin-color-rgb), .15);transform:translateY(-2px)}.arch-node:hover:before{opacity:1}.arch-arrow{color:var(--skin-color);opacity:.6;font-size:14px;animation:2s ease-in-out infinite arrowPulse}@keyframes arrowPulse{0%,to{opacity:.4;transform:translate(0)}50%{opacity:1;transform:translate(2px)}}.arch-description{color:var(--text-black-700);margin-top:4px;font-size:13px;font-style:italic;line-height:1.5}@media (width<=768px){.hero-metrics{gap:12px;margin:24px 0 32px}.hero-metric{flex:1;min-width:70px;padding:12px 14px}.hero-metric-value{font-size:22px}.hero-metric-label{font-size:9px}.modal-section-architecture .arch-flow{gap:6px;padding:12px}.arch-node{padding:6px 10px;font-size:11px}}@media (width<=480px){.hero-metrics{gap:8px}.hero-metric{min-width:60px;padding:10px 8px}.hero-metric-value{font-size:18px}}
