.project-button{background-color:var(--bg-light);color:var(--text-dark);border:0;padding:10px 20px;font-size:16px;border-radius:8px;transition:all .3s ease;font-weight:500}.project-button:active{background-color:var(--primary-color);color:white;transform:translateY(1px)}.project-container{background-color:var(--bg-white);box-shadow:var(--shadow-md);border-radius:12px;padding:24px;border:1px solid var(--border-color);transition:all .3s ease;position:relative;overflow:hidden;display:flex;flex-direction:column}.project-container:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:var(--primary-color)}.project-content{display:flex;flex-direction:column;height:100%}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.project-description{margin-bottom:20px;color:var(--text-light);font-size:.95rem;line-height:1.5;min-height:69px}.project-progress{margin-bottom:20px}.progress-header{display:flex;justify-content:space-between;margin-bottom:8px;margin-top:8px;font-size:.95rem;color:var(--text-light);font-weight:500}.project-technologies{margin-bottom:20px;min-height:70px}.tech-title{font-weight:600;margin-bottom:8px;font-size:.95rem;color:var(--text-dark)}.tech-tags{display:flex;flex-wrap:wrap;gap:8px}.project-footer{display:flex;justify-content:flex-start;align-items:center;margin-top:auto;padding-top:16px;border-top:1px solid var(--border-color)}.team-info{font-size:.9rem;color:var(--text-light);font-weight:500;display:flex;align-items:center;gap:6px}.team-info i{color:var(--primary-color);font-size:1rem}.project-title{font-size:20px;font-weight:700;color:var(--text-dark);margin:0;line-height:1.3;display:inline-block}.project-label-in-progress{background-color:var(--primary-light);color:var(--primary-color);padding:6px 12px;border-radius:50px;font-size:12px;font-weight:600;display:inline-block;box-shadow:0 1px 3px rgba(0,0,0,0.05)}.project-label-completed{background-color:rgba(22,163,74,0.15);color:#16a34a;padding:6px 12px;border-radius:50px;font-size:12px;font-weight:600;display:inline-block;box-shadow:0 1px 3px rgba(0,0,0,0.05)}.project-tech{background-color:var(--bg-light);color:var(--text-dark);border:0;padding:6px 12px;border-radius:6px;margin-right:6px;margin-top:8px;font-size:13px;font-weight:500;display:inline-block;transition:all .2s ease;text-decoration:none;cursor:pointer;border:1px solid transparent}.project-tech:hover{background-color:var(--primary-color);color:white;transform:translateY(-2px);border-color:var(--primary-color);box-shadow:0 2px 8px rgba(59,130,246,0.3)}.project-tech-empty{color:var(--text-light);font-size:13px;font-style:italic;opacity:.7}.project-detail-label{color:var(--primary-color);background:0;border:0;font-size:15px;font-weight:600;padding:8px 0;cursor:pointer;font-family:inherit;transition:all .2s ease;display:flex;align-items:center;gap:5px}.project-detail-label i{font-size:12px;transition:transform .2s ease}.project-detail-label:hover{color:var(--primary-hover)}.project-detail-label:hover i{transform:translateX(3px)}.project-bar{width:100%;height:8px;border-radius:10px;overflow:hidden;-webkit-appearance:none;appearance:none;margin-top:8px}.project-bar::-webkit-progress-bar{background-color:var(--bg-light);border-radius:10px}.project-bar::-moz-progress-bar{border-radius:10px}.project-bar-in-progress::-webkit-progress-value{background-color:var(--primary-color);transition:width .5s ease;background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:20px 20px;animation:progress-animation 1s linear infinite}.project-bar-in-progress::-moz-progress-bar{background-color:var(--primary-color);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:20px 20px;animation:progress-animation 1s linear infinite}.project-bar-completed::-webkit-progress-value{background-color:#16a34a;background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:20px 20px}.project-bar-completed::-moz-progress-bar{background-color:#16a34a;background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:20px 20px}@keyframes progress-animation{0%{background-position:0 0}100%{background-position:20px 0}}.projects-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 0rem}.page-title{font-size:2.2rem;font-weight:700;color:var(--text-dark);margin:0}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-bottom:40px;width:100%}.filter-buttons{display:flex}.filter-container{background-color:var(--bg-light);border-radius:2rem;padding:.25rem;display:inline-flex;border:1px solid var(--evborder-color);position:relative}.filter-btn{border:0;background:0;color:var(--color-text-primary);font-weight:500;padding:.6rem 2rem;border-radius:1.5rem;cursor:pointer;transition:all .2s ease;position:relative;margin:0 2px;font-family:inherit}html[data-theme="dark"] .filter-btn,body[data-theme="dark"] .filter-btn{color:rgba(255,255,255,0.678)}.filter-btn:hover:not(.active){color:var(--light-text);background-color:rgba(0,0,0,0.05)}html[data-theme="dark"] .filter-btn:hover:not(.active){color:var(--light-text);background-color:rgba(255,255,255,0.1)}.filter-btn.active{background-color:#3b82f6;color:white !important;box-shadow:0 2px 5px rgba(59,130,246,0.3)}@media(max-width:1024px){.projects-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media(max-width:768px){.projects-header{flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.page-title{font-size:1.5rem;margin-right:8px;max-width:calc(100% - 120px)}.filter-container{display:none}.mobile-filter-button{display:inline-block;background-color:#3b82f6;color:white;border:0;padding:.5rem 1rem;border-radius:1.5rem;font-weight:500;font-size:.85rem;box-shadow:0 2px 5px rgba(59,130,246,0.3);cursor:pointer;font-family:inherit;white-space:nowrap;flex-shrink:0;min-width:100px}.mobile-filter-button:active{transform:translateY(1px)}}@media(min-width:768px){.mobile-filter-button{display:none}}@media(max-width:640px){.projects-grid{grid-template-columns:1fr}.project-container{padding:20px}.project-title{font-size:18px}}.project-links{display:flex;gap:12px;align-items:center;margin-left:auto}.project-link{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:.875rem;font-weight:500;color:var(--primary-color);text-decoration:none;border:1px solid var(--primary-color);border-radius:6px;transition:all .2s ease}.project-link:hover{background-color:var(--primary-color);color:white;transform:translateY(-1px);box-shadow:0 2px 6px rgba(59,130,246,0.3)}.project-link i{font-size:.85rem}.loading,.no-projects{text-align:center;padding:3rem 1rem;color:var(--text-light);font-style:italic;font-size:1rem;grid-column:1 / -1}.loading{color:var(--primary-color)}.read-more-btn{color:var(--primary-color);font-weight:600;cursor:pointer;text-decoration:none;transition:all .2s ease;white-space:nowrap}.read-more-btn:hover{color:#2563eb;text-decoration:underline}.project-detail-btn{color:var(--primary-color);background:0;border:0;font-size:14px;font-weight:600;padding:6px 12px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px;margin-left:auto}.project-detail-btn:hover{color:#2563eb;transform:translateX(3px)}.project-detail-btn i{font-size:12px;transition:transform .2s ease}.project-detail-btn:hover i{transform:translateX(2px)}.project-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;justify-content:center;align-items:center;padding:20px}.modal-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.7);backdrop-filter:blur(4px)}.modal-content{position:relative;background-color:var(--bg-white);border-radius:16px;max-width:700px;width:100%;max-height:85vh;box-shadow:0 20px 60px rgba(0,0,0,0.3);animation:modalSlideIn .3s ease;z-index:1001;display:flex;flex-direction:column}.modal-progress-bar-top{position:absolute;top:0;left:0;height:4px;transition:width 1s ease-out;z-index:10;border-radius:16px 0 0 0;background-size:20px 20px}.modal-progress-bar-top.project-bar-completed{background:repeating-linear-gradient(45deg,#10b981,#10b981 10px,#34d399 10px,#34d399 20px)}.modal-progress-bar-top.project-bar-in-progress{background:repeating-linear-gradient(45deg,#3b82f6,#3b82f6 10px,#60a5fa 10px,#60a5fa 20px)}@keyframes modalSlideIn{from{opacity:0;transform:translateY(-20px) scale(0.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close{position:absolute;top:20px;right:20px;background:0;border:0;font-size:24px;color:var(--text-light);cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.modal-close:hover{background-color:var(--bg-light);color:var(--text-dark)}.modal-header{padding:30px 60px 20px 30px;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:1.75rem;margin:0;color:var(--text-dark)}.modal-body{padding:30px;overflow-y:auto;flex:1;scrollbar-width:none;-ms-overflow-style:none}.modal-body::-webkit-scrollbar{display:none}.modal-section{margin-bottom:28px}.modal-section:last-child{margin-bottom:0}.modal-section h3{font-size:1rem;font-weight:600;color:var(--text-dark);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;opacity:.8}.modal-section p{color:var(--text-light);line-height:1.6;margin:0}.modal-team-info{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--text-dark)}.tech-descriptions{margin-top:8px}.tech-desc-loading,.tech-desc-empty{padding:12px;color:var(--text-light);font-size:.9rem;font-style:italic;text-align:center}.tech-accordion-item{border:1px solid var(--border-color);border-radius:8px;margin-bottom:8px;overflow:hidden;transition:all .3s ease}.tech-accordion-item:hover{border-color:#3b82f6}.tech-accordion-item.no-description{background-color:var(--bg-color)}.tech-accordion-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;user-select:none;transition:background-color .2s ease}.tech-accordion-item:not(.no-description) .tech-accordion-header:hover{background-color:rgba(59,130,246,0.05)}.tech-accordion-item.no-description .tech-accordion-header{cursor:default}.tech-name{font-weight:600;color:var(--text-dark);font-size:.95rem}.tech-actions{display:flex;align-items:center;gap:12px}.tech-doc-link{color:#3b82f6;text-decoration:none;font-size:.85rem;transition:color .2s ease}.tech-doc-link:hover{color:#2563eb}.accordion-icon{color:var(--text-light);font-size:.75rem;transition:transform .3s ease}.tech-accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease;background-color:rgba(59,130,246,0.02)}.tech-accordion-content p{padding:12px 16px;margin:0;color:var(--text-light);line-height:1.6;font-size:.9rem}.team-size-display{display:flex;align-items:center;gap:8px;font-size:1rem;color:var(--text-dark)}.team-size-display i{color:#3b82f6;font-size:1.1rem}.team-members-list{display:flex;flex-direction:column;gap:10px}.team-member-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background-color:var(--bg-color);border-radius:8px;transition:all .2s ease;text-decoration:none;color:var(--text-dark);border:1px solid var(--border-color)}.team-member-item i{color:#3b82f6;font-size:1rem;width:18px;text-align:center}.team-member-item span{font-size:.95rem;font-weight:500}.team-member-item:not(.no-link):hover{background-color:rgba(59,130,246,0.1);border-color:#3b82f6;transform:translateX(4px);box-shadow:0 2px 8px rgba(59,130,246,0.2)}.team-member-item.no-link{cursor:default;opacity:.8}.team-member-item.no-link i{color:var(--text-light)}.modal-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;padding-top:28px;border-top:1px solid var(--border-color)}.modal-link{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;font-size:.95rem;font-weight:600;color:white;background-color:var(--primary-color);text-decoration:none;border-radius:8px;transition:all .2s ease;flex:1;justify-content:center;min-width:150px}.modal-link:hover{background-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px rgba(59,130,246,0.4)}@media(max-width:640px){.project-links{flex-direction:column;width:100%;margin-left:0;margin-top:12px}.project-link{width:100%;justify-content:center}.project-footer{flex-wrap:wrap;gap:12px}.project-detail-btn{margin-left:auto}.modal-content{max-height:90vh;margin:10px;border-radius:12px}.modal-header{padding:20px 50px 16px 20px}.modal-header h2{font-size:1.5rem}.modal-body{padding:20px}.modal-section{margin-bottom:24px}.modal-links{flex-direction:column}.modal-link{width:100%}}