@import"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap";*{margin:0;padding:0;box-sizing:border-box;list-style:none;text-decoration:none;font-family:Poppins,sans-serif}html{scroll-behavior:smooth}.container{margin:0 auto}body{background-color:#1b1b1b}.layout{display:flex;margin-top:53px;height:calc(100vh - 53px);position:relative}.main{flex:1;overflow-y:auto;scrollbar-width:none;padding:20px;min-width:0}@media(max-width:1024px){.main{padding:16px}}@media(max-width:768px){.main{padding:14px;width:100%}}@media(max-width:480px){.main{padding:10px}}.App .layout{position:relative}.App .aside-overlay{display:none;position:fixed;inset:53px 0 0;background-color:#0009;z-index:90}@media(max-width:768px){.App .aside-overlay.open{display:block}}nav{position:fixed;top:0;left:0;right:0;width:100%;background-color:#1b1b1b;border-bottom:1px solid rgba(255,255,255,.2509803922);z-index:100}nav .container{display:flex;justify-content:space-between;align-items:center;padding:10px}nav .logo{display:flex;align-items:center;gap:12px}nav .logo h2{color:#fff;font-weight:500;font-size:22px;letter-spacing:-1px;text-transform:uppercase}nav .logo h2 span{color:#39965f}nav .logo svg{color:#fff;font-size:20px;cursor:pointer;transition:color .3s ease}nav .logo svg:hover{color:#39965f}nav .logoImg{width:30px}nav .menu{display:flex;align-items:center;gap:20px}nav .menu ul{display:flex;align-items:center;gap:20px}nav .menu ul a{position:relative;color:#fff;font-size:16px;font-weight:400;transition:color .3s ease}nav .menu ul a:after{content:"";position:absolute;left:0;bottom:-14px;width:0;height:1.5px;background-color:#39965f;transition:width .3s ease}nav .menu ul a:hover:after,nav .menu ul a.active:after{width:100%}nav .menu a svg{color:#fff;font-size:18px;cursor:pointer;transition:color .3s ease}nav .menu a svg:hover{color:#39965f}nav .mobile-right{display:none;align-items:center;gap:14px}nav .mobile-right a svg{color:#fff;font-size:20px}nav .hamburger{background:none;border:none;cursor:pointer;display:flex;align-items:center}nav .hamburger svg{color:#fff;font-size:24px}@media(max-width:768px){nav .menu{display:none}nav .mobile-right{display:flex}}.mobile-menu-overlay{position:fixed;inset:53px 0 0;z-index:99;background-color:transparent}.mobile-menu{position:absolute;top:0;right:0;width:220px;background-color:#242424;border:1px solid rgba(255,255,255,.1254901961);border-top:none;border-radius:0 0 0 12px;overflow:hidden;box-shadow:-4px 4px 20px #00000080;animation:slideDown .2s ease}.mobile-menu a{display:block;padding:14px 20px;color:#ffffffb2;font-size:15px;font-weight:400;border-bottom:1px solid rgba(255,255,255,.0823529412);transition:all .2s ease}.mobile-menu a:last-child{border-bottom:none}.mobile-menu a:hover,.mobile-menu a.active{color:#39965f;background-color:#39965f15;padding-left:26px}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}aside{border-right:1px solid rgba(255,255,255,.2509803922);width:288px;min-width:288px;height:100%;overflow-y:auto;scrollbar-width:none;background-color:#1b1b1b;transition:transform .3s ease-in-out,width .3s ease-in-out,min-width .3s ease-in-out}aside .myImg{padding:10px;width:100%;height:260px}aside .myImg img{width:100%;height:100%;object-fit:cover;border-radius:8px}aside .title{padding:0 10px 10px;border-bottom:1px solid rgba(255,255,255,.2509803922)}aside .title h2{font-weight:500;font-size:18px;color:#fff;margin-bottom:10px}aside .title .btns{display:flex;align-items:center;gap:10px;flex-wrap:wrap}aside .title .btns button{font-weight:400;font-size:12px;line-height:14px;color:#fff;background-color:#313131;border-radius:8px;border:none;padding:8px 10px;cursor:default}aside .card{padding:10px;display:grid;gap:10px}aside .card .box{display:flex;align-items:center;gap:10px}aside .card .box .imgs{width:44px;height:44px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}aside .card .box .imgs img{width:100%;height:100%}aside .card .box .text h4{font-weight:500;font-size:16px;color:#fff;margin-bottom:3px}aside .card .box .text h5{font-weight:400;font-size:13px;color:#ffffffb2;word-break:break-all}aside .card .github{background-color:#545454}aside .card .github svg{color:#fff;font-size:20px}aside .card .telegram{background-color:#1b3848}aside .card .telegram svg{color:#1b92d1;font-size:20px}aside .card .call{background-color:#144629}aside .card .call svg{color:#00dd68;font-size:20px}aside.collapsed{width:0;min-width:0;overflow:hidden;border-right:none}@media(max-width:768px){aside{position:fixed;top:53px;left:0;height:calc(100vh - 53px);z-index:95;transform:translate(-100%);width:288px;min-width:288px;border-right:1px solid rgba(255,255,255,.2509803922)}aside.open{transform:translate(0)}aside.collapsed{width:288px;min-width:288px;overflow-y:auto;border-right:1px solid rgba(255,255,255,.2509803922);transform:translate(-100%)}}.home .container{display:flex;align-items:center;justify-content:center;min-height:80vh;padding:20px}.home .content{width:60%;text-align:center}.home .content h1{font-weight:700;font-size:36px;color:#fff;margin-bottom:20px;line-height:1.3}.home .content span{color:#39965f}.home .content p{font-weight:400;font-size:18px;color:#ffffffb2;margin-bottom:20px;line-height:1.6}@media(max-width:1024px){.home .content{width:80%}.home .content h1{font-size:30px}.home .content p{font-size:16px}}@media(max-width:768px){.home .content{width:100%}.home .content h1{font-size:26px}.home .content p{font-size:15px}}@media(max-width:480px){.home .content h1{font-size:22px}.home .content p{font-size:14px}}.about .section-1{padding:15px 0}.about h2{font-weight:700;font-size:32px;line-height:100%;color:#fff;margin-bottom:30px;position:relative}.about h2:after{content:"";position:absolute;left:0;bottom:-14px;width:115px;height:8px;background-color:#39965f;border-radius:4px}.about p{font-weight:400;font-size:18px;color:#ffffffb2;margin-bottom:20px;line-height:1.6}.about .section-2{padding:40px 0}.about .section-2 .card{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.about .section-2 .card .box{width:240px;height:130px;border-radius:12px;border:2px solid rgba(255,255,255,.2509803922);background-color:#302f2f54;display:flex;align-items:center;justify-content:center}.about .section-2 .card img{width:64px;height:64px}.about .section-3{padding:40px 0}.about .section-3 .card{display:flex;align-items:stretch;gap:20px;flex-wrap:wrap;justify-content:space-between}.about .section-3 .box{width:48%;background-color:#302f2f54;border-radius:12px;border:2px solid rgba(255,255,255,.2509803922);padding:15px 10px;display:flex;align-items:flex-start;gap:10px}.about .section-3 .box img{width:40px;height:40px;flex-shrink:0}.about .section-3 h4{font-weight:600;font-size:20px;color:#fff;margin-bottom:8px}.about .section-3 h5{font-weight:400;font-size:16px;color:#ffffffb2}.about .section-4{padding-bottom:40px}.about .section-4 .card{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.about .section-4 .box{width:240px;height:130px;display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.2509803922);background-color:#302f2f54;border-radius:12px}.about .section-4 .box img{width:120px;height:64px;object-fit:contain}@media(max-width:1024px){.about h2{font-size:28px}.about p{font-size:16px}.about .section-2 .card .box{width:200px;height:110px}.about .section-3 .box{width:48%}.about .section-4 .box{width:200px}}@media(max-width:768px){.about h2{font-size:24px}.about p{font-size:15px}.about .section-2 .card{justify-content:center}.about .section-2 .card .box{width:calc(50% - 10px);height:100px}.about .section-3 .box{width:100%}.about .section-3 h4{font-size:18px}.about .section-3 h5{font-size:14px}.about .section-4 .box{width:calc(50% - 10px);height:110px}}@media(max-width:480px){.about h2{font-size:22px}.about .section-2 .card .box{width:100%;height:90px}.about .section-3 .box,.about .section-4 .box{width:100%}}.projects .section-1{padding:15px 0}.projects h2{font-weight:700;font-size:32px;line-height:100%;color:#fff;margin-bottom:30px;position:relative}.projects h2:after{content:"";position:absolute;left:0;bottom:-14px;width:115px;height:8px;background-color:#39965f;border-radius:4px}.projects .row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:nowrap;gap:10px}.projects .filter-left{display:flex;align-items:center;gap:10px}.projects .reset-btn{background:none;border:1px solid rgba(255,255,255,.2509803922);border-radius:6px;padding:8px 14px;color:#ffffffb2;font-size:13px;font-family:Poppins,sans-serif;cursor:pointer;transition:all .2s ease}.projects .reset-btn:hover{border-color:#c5221f;color:#c5221f}.projects .filter-selects{display:flex;gap:12px;flex-wrap:nowrap;overflow:hidden;max-height:0;opacity:0;transition:max-height .3s ease,opacity .25s ease,margin .3s ease;pointer-events:none}.projects .filter-selects--open{max-height:60px;opacity:1;pointer-events:all}.projects .filter-selects select{background-color:#302f2f54;border:1px solid rgba(255,255,255,.2509803922);border-radius:6px;padding:8px 16px;font-weight:400;font-size:15px;color:#fff;cursor:pointer;white-space:nowrap}.projects .filter-selects select option{background-color:#1b1b1b}.projects .filter-selects select:focus{outline:none;border-color:#39965f}.projects .card{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.projects .card .box .imgs{border-radius:12px;overflow:hidden}.projects .card .box img{width:100%;border-radius:12px;display:block}.projects .card .box .row{display:flex;align-items:center;justify-content:space-between;margin-top:10px;margin-bottom:10px;flex-wrap:nowrap}.projects .card .box .row h4{font-weight:600;font-size:18px;color:#fff}.projects .card .box .row button{font-weight:400;font-size:13px;color:#39965f;background-color:transparent;padding:5px 12px;border-radius:8px;border:1px solid rgba(57,150,95,.3764705882);transition:all .2s ease;cursor:pointer;white-space:nowrap;flex-shrink:0}.projects .card .box .row button:hover{background-color:#39965f20;border-color:#39965f}.projects .card .box .row .visit-btn{font-size:13px;font-weight:500;color:#39965f;border:1px solid rgba(57,150,95,.3764705882);border-radius:6px;padding:5px 12px;white-space:nowrap;flex-shrink:0;transition:all .2s ease}.projects .card .box .row .visit-btn:hover{background-color:#39965f20;border-color:#39965f}.projects .card .box .col{display:flex;flex-wrap:wrap;gap:6px}.projects .card .box .col h5{font-weight:500;font-size:14px;color:#39965f;cursor:pointer;transition:opacity .2s}.projects .card .box .col h5:hover{opacity:.7}.projects .card .box .col h5.tag--active{background-color:#39965f20;border-radius:4px;padding:2px 6px;outline:1px solid rgba(57,150,95,.3764705882)}.projects .empty{grid-column:1/-1;text-align:center;padding:60px 20px}.projects .empty p{color:#ffffffb2;font-size:16px;margin-bottom:16px}.projects .empty button{background:none;border:1px solid #39965f;border-radius:8px;padding:10px 20px;color:#39965f;font-size:14px;font-family:Poppins,sans-serif;cursor:pointer;transition:all .2s}.projects .empty button:hover{background-color:#39965f20}.projects .btn{padding-top:20px}.projects .content{display:flex;align-items:center;justify-content:space-between;gap:20px;border:2px solid rgba(255,255,255,.2509803922);border-radius:12px;padding:20px;margin-top:60px;background-color:#302f2f54}.projects .content .telegram{display:flex;align-items:center;justify-content:center;width:170px;min-width:100px;height:160px;border-radius:6px;background-color:#1b3848;flex-shrink:0}.projects .content .telegram svg{font-size:70px;color:#1b92d1}.projects .content .text{flex:1}.projects .content .text h3{font-weight:700;font-size:24px;line-height:1.3;color:#fff;margin-bottom:12px}.projects .content .text p{font-weight:400;font-size:16px;line-height:1.5;color:#ffffffb2;margin-bottom:12px}.projects .content .image{height:160px;width:200px;flex-shrink:0}.projects .content .image img{width:100%;height:100%;object-fit:cover;border-radius:8px}@media(max-width:1024px){.projects h2{font-size:28px}.projects .card{grid-template-columns:repeat(2,1fr)}.projects .content .image{width:150px}}@media(max-width:768px){.projects h2{font-size:24px}.projects .card{grid-template-columns:1fr}.projects .row{flex-wrap:wrap;flex-direction:column;align-items:flex-start}.projects .filter-selects--open{max-height:120px;width:100%;flex-wrap:wrap}.projects .filter-selects select{flex:1;min-width:80px}.projects .content{flex-wrap:wrap;margin-top:40px}.projects .content .telegram{width:100%;height:100px}.projects .content .telegram svg{font-size:50px}.projects .content .image{width:100%;height:140px}}@media(max-width:480px){.projects h2{font-size:22px}.projects .content{padding:14px}.projects .content .text h3{font-size:20px}.projects .content .text p{font-size:14px}}.contact .section-1{padding-top:15px}.contact h2{font-weight:700;font-size:32px;line-height:100%;color:#fff;margin-bottom:30px;position:relative}.contact h2:after{content:"";position:absolute;left:0;bottom:-14px;width:115px;height:8px;background-color:#39965f;border-radius:4px}.contact .section-2{padding-top:60px;padding-bottom:40px}.contact .card{display:flex;gap:20px;align-items:stretch;justify-content:space-between;flex-wrap:wrap}.contact .card .box{flex:1;min-width:180px;display:flex;flex-direction:column;align-items:center;gap:10px;border:2px solid rgba(255,255,255,.2509803922);border-radius:12px;padding:20px;background-color:#302f2f54;text-align:center}.contact .card .box img{width:56px;height:56px;margin-bottom:6px}.contact .card .box h4{font-weight:600;font-size:18px;color:#fff}.contact .card .box h5{font-weight:400;font-size:14px;color:#ffffffb2;word-break:break-all}.contact form{border:2px solid rgba(255,255,255,.2509803922);border-radius:12px;padding:20px;background-color:#302f2f54}.contact form .col{display:flex;align-items:flex-start;gap:20px;margin-bottom:20px}.contact form .col .box{width:50%;display:flex;flex-direction:column}.contact form label{display:block;font-weight:400;font-size:15px;color:#fff;margin-bottom:8px}.contact form input{width:100%;font-weight:400;font-size:15px;color:#ffffff80;border-radius:8px;padding:10px 15px;background-color:transparent;border:2px solid rgba(255,255,255,.2509803922);outline:none;transition:border-color .2s}.contact form input:focus{border-color:#39965f}.contact form input.input-error{border-color:#c5221f}.contact form textarea{width:100%;height:180px;font-weight:400;font-size:15px;color:#ffffff80;border-radius:8px;padding:10px 15px;background-color:transparent;border:2px solid rgba(255,255,255,.2509803922);outline:none;margin-bottom:6px;resize:vertical;transition:border-color .2s;font-family:Poppins,sans-serif}.contact form textarea:focus{border-color:#39965f}.contact form textarea.input-error{border-color:#c5221f}.contact form .error-msg{display:block;font-size:12px;color:#e05252;margin-top:4px;margin-bottom:4px}.contact form .status-msg{border-radius:8px;padding:12px 16px;font-size:14px;margin-bottom:14px}.contact form .status-success{background-color:#39965f20;border:1px solid rgba(57,150,95,.3764705882);color:#5dbb85}.contact form .status-error{background-color:#c5221f20;border:1px solid rgba(197,34,31,.3764705882);color:#e05252}.contact form .submit-btn{background-color:#39965f;color:#fff;border:none;border-radius:8px;padding:10px 28px;font-size:15px;font-family:Poppins,sans-serif;font-weight:500;cursor:pointer;transition:background-color .2s,opacity .2s;margin-top:8px}.contact form .submit-btn:hover:not(:disabled){background-color:#2e7a4c}.contact form .submit-btn:disabled{opacity:.65;cursor:not-allowed}.contact form .loading-dots span{animation:blink 1.2s infinite}.contact form .loading-dots span:nth-child(2){animation-delay:.2s}.contact form .loading-dots span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:0}40%{opacity:1}}@media(max-width:1024px){.contact h2{font-size:28px}.contact .card .box{min-width:140px}.contact .card .box h4{font-size:16px}.contact .card .box h5{font-size:13px}}@media(max-width:768px){.contact h2{font-size:24px}.contact .card{flex-direction:column}.contact .card .box{width:100%;flex-direction:row;text-align:left;align-items:center;gap:16px}.contact .card .box img{width:44px;height:44px;margin-bottom:0;flex-shrink:0}.contact form .col{flex-direction:column}.contact form .col .box{width:100%}}@media(max-width:480px){.contact h2{font-size:22px}.contact .section-2{padding-top:40px}.contact form{padding:14px}}
