nav a { text-decoration: none; color: #ccc; font-weight: bold; transition: color 0.3s ease; } nav a:hover { color: #fff; } .grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px; padding: 40px; transition: all 0.3s ease; } .card { background: #111; border: 2px solid #333; border-radius: 12px; overflow: hidden; transition: transform 0.4s ease, box-shadow 0.4s ease, grid-column 0.4s, grid-row 0.4s; cursor: pointer; position: relative; display: flex; flex-direction: column; } .card:hover { box-shadow: 0 0 12px #00ff8877; } .card.open { grid-column: span 2; grid-row: span 2; z-index: 5; transform: scale(1.02); box-shadow: 0 0 20px #00c4ff88; } .card img { width: 100%; height: 180px; object-fit: cover; transition: transform 0.3s ease; } .card.open img { transform: scale(1.05); } .card .title { padding: 12px; font-size: 16px; background: #1a1a1a; border-top: 1px solid #333; text-align: center; transition: background 0.3s ease; } .card .content { max-height: 0; overflow: hidden; opacity: 0; transition: all 0.4s ease; padding: 0 16px; } .card.open .content { max-height: 500px; opacity: 1; padding: 16px; } .examples { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; transition: opacity 0.3s ease; } .examples img { width: 80px; height: 80px; object-fit: cover; border-radius: 6px; border: 1px solid #444; transition: transform 0.3s ease; } .examples img:hover { transform: scale(1.1); } .modal { display: none; position: fixed; inset: 0; background: rgba(0, 0, 0, 0.9); z-index: 9999; align-items: center; justify-content: center; animation: fadeIn 0.4s ease; } .modal.show { display: flex; animation: fadeIn 0.4s ease forwards; } #modal-img { max-width: 90%; max-height: 90%; border: 4px solid #00ff88; border-radius: 12px; box-shadow: 0 0 20px #00ff88; transform: scale(0.85); opacity: 0; transition: all 0.4s ease; } .modal.show #modal-img { transform: scale(1); opacity: 1; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }