Вот мой код:
```
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Визуализация Лестницы</title>
    <style>
        body {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            min-height: 100vh;
            margin: 0;
            background-color: #f0f0f0;
            font-family: Arial, sans-serif;
        }

        .container {
            background: white;
            padding: 20px;
            border-radius: 10px;
            box-shadow: 0 0 10px rgba(0,0,0,0.1);
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .stairs-container {
            width: 300px;
            height: 300px;
            border: 2px solid #333;
            margin: 20px;
            position: relative;
            background: white;
        }

        .stairs {
            position: absolute;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
        }

        .step {
            position: absolute;
            background: transparent; /* Ступеньки прозрачные */
            overflow: hidden; /* Чтобы палочки не выходили за пределы ступеньки */
        }

        .vertical-stick, .horizontal-stick {
            position: absolute;
            background: #666;
            transition: all 1s ease;
        }

        /* Изначальные размеры палочек */
        .vertical-stick {
            width: 4px;
            height: 100%;
            left: 0;
            bottom: 0;
        }

        .horizontal-stick {
            height: 4px;
            width: 100%;
            left: 0;
            bottom: 0;
        }

        /* Анимация при добавлении класса animate */
        .animate .vertical-stick {
            height: 100%;
        }

        .animate .horizontal-stick {
            width: 100%;
        }

        .control-panel {
            text-align: center;
            padding: 10px;
        }

        input[type="range"] {
            width: 200px;
            margin: 10px 0;
        }

        .steps-count {
            font-size: 16px;
            color: #333;
            margin-bottom: 10px;
        }

        button {
            padding: 10px 20px;
            font-size: 16px;
            cursor: pointer;
            border: none;
            border-radius: 5px;
            background-color: #333;
            color: white;
            transition: background-color 0.3s ease;
        }

        button:hover {
            background-color: #555;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="stairs-container">
            <div class="stairs" id="stairs"></div>
        </div>
        <div class="control-panel">
            <div class="steps-count">Количество ступенек: <span id="stepsValue">5</span></div>
            <input type="range" id="stepsRange" min="1" max="10" value="5">
            <button id="visualizeBtn">Визуализировать</button>
        </div>
    </div>

    <script>
        function drawStairs(steps) {
            const stairsContainer = document.getElementById('stairs');
            stairsContainer.innerHTML = '';
            
            const containerSize = 300; // Размер квадрата в пикселях
            const stepSize = containerSize / steps;

            for (let i = 0; i < steps; i++) {
                const step = document.createElement('div');
                step.className = 'step';
                // Позиционирование ступеньки от нижнего правого к верхнему левому
                step.style.width = `${stepSize}px`;
                step.style.height = `${stepSize}px`;
                step.style.left = `${containerSize - (i + 1) * stepSize}px`;
                step.style.bottom = `${i * stepSize}px`;

                // Создание вертикальной палочки (слева)
                const vertical = document.createElement('div');
                vertical.className = 'vertical-stick';
                // Изначально высота 0, а при анимации до 100%

                // Создание горизонтальной палочки (снизу)
                const horizontal = document.createElement('div');
                horizontal.className = 'horizontal-stick';
                // Изначально ширина 0, а при анимации до 100%

                step.appendChild(vertical);
                step.appendChild(horizontal);
                stairsContainer.appendChild(step);
            }
        }

        const slider = document.getElementById('stepsRange');
        const stepsValue = document.getElementById('stepsValue');
        const visualizeBtn = document.getElementById('visualizeBtn');
        const stairs = document.getElementById('stairs');

        slider.addEventListener('input', (e) => {
            const steps = parseInt(e.target.value);
            stepsValue.textContent = steps;
            stairs.classList.remove('animate'); // Сброс анимации при изменении числа ступенек
            drawStairs(steps);
        });

        visualizeBtn.addEventListener('click', () => {
            // Сброс анимации для повторного запуска
            stairs.classList.remove('animate');
            // Принудительно перерисовать, чтобы CSS увидел удаление класса
            void stairs.offsetWidth;
            stairs.classList.add('animate');
        });

        // Инициализация при загрузке
        drawStairs(5);
    </script>
</body>
</html>
```

Сделай так, чтобы при нажатии на кнопку "Визуализировать" все палочки сдвигались: (вертикальные вправо на границу квадрата, горизонтальные вверх до границы квадрата)