.projects-loading,.projects-error {display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:40px;background-color:var(--color-light-gray-100);border-radius:10px;text-align:center;}.loading-icon,.error-icon {font-size:3rem;margin-bottom:20px;color:var(--color-primary);}.loading-icon {animation:spin 2s infinite linear;}.error-icon {color:#e74c3c;}.projects-error h3 {margin-bottom:10px;color:var(--color-cool-gray-800);}.projects-error p {margin-bottom:20px;color:var(--color-cool-gray-600);}.retry-button {padding:10px 20px;background-color:var(--color-primary);color:white;border:none;border-radius:5px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all 0.3s ease;}.retry-button:hover {background-color:var(--color-secondary);transform:translateY(-2px);}@keyframes spin {0%{transform:rotate(0deg); }100%{transform:rotate(360deg); }}.project-item {animation:fadeIn 0.5s ease-out forwards;opacity:0;}.project-item:nth-child(1){animation-delay:0.1s; }.project-item:nth-child(2){animation-delay:0.2s; }.project-item:nth-child(3){animation-delay:0.3s; }.project-item:nth-child(4){animation-delay:0.4s; }.project-item:nth-child(5){animation-delay:0.5s; }.project-item:nth-child(6){animation-delay:0.6s; }.project-item:nth-child(7){animation-delay:0.7s; }.project-item:nth-child(8){animation-delay:0.8s; }@keyframes fadeIn {from{opacity:0; transform:translateY(20px); }to{opacity:1; transform:translateY(0); }}