.farm-container { padding: 20rpx; display: flex; flex-direction: column; gap: 20rpx; } .farm-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(3, 1fr); gap: 10rpx; aspect-ratio: 4/3; background-color: #8B4513; padding: 20rpx; border-radius: 10rpx; } .farm-plot { aspect-ratio: 1; background-color: #654321; border-radius: 8rpx; position: relative; cursor: pointer; transition: transform 0.2s; &:hover { transform: scale(1.05); } .plot-content { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; position: relative; &.needs-water::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 255, 0.2); border-radius: 8rpx; } &.has-weeds::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: url('/static/weeds.png') center/cover; opacity: 0.5; border-radius: 8rpx; } } .crop-stage { width: 80%; height: 80%; display: flex; align-items: center; justify-content: center; .crop-image { width: 100%; height: 100%; object-fit: contain; } } } .action-panel { display: flex; flex-direction: column; gap: 20rpx; padding: 20rpx; background-color: rgba(255, 255, 255, 0.9); border-radius: 10rpx; .action-buttons { display: flex; gap: 10rpx; flex-wrap: wrap; button { flex: 1; min-width: 120rpx; padding: 10rpx 20rpx; border: none; border-radius: 5rpx; background-color: #4CAF50; color: white; font-size: 28rpx; &:disabled { background-color: #cccccc; cursor: not-allowed; } &:active { transform: scale(0.95); } } } .selected-plot-info { display: flex; flex-direction: column; gap: 10rpx; padding: 10rpx; background-color: rgba(0, 0, 0, 0.05); border-radius: 5rpx; text { font-size: 24rpx; color: #333; } } }