/* 动画属性面板样式 */
.animation-section {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 12px;
    margin-bottom: 12px;
}

.animation-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.animation-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.animation-header .property-label {
    font-weight: 500;
    color: #e6e6e6;
    font-size: 13px;
}

.animation-controls {
    padding-left: 5px;
    border-left: 2px solid rgba(106, 137, 204, 0.3);
    margin-left: 5px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Switch开关样式 */
.switch {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 22px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.2);
    transition: .3s;
    border-radius: 22px;
}

.slider:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 16px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: .3s;
    border-radius: 50%;
}

input:checked+.slider {
    background-color: #6a89cc;
}

input:checked+.slider:before {
    transform: translateX(18px);
}

.slider.round {
    border-radius: 22px;
}

.slider.round:before {
    border-radius: 50%;
}

.property-unit {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.5);
    min-width: 50px;
    text-align: right;
}

/* 动画类 - 翻转动画 */
.material-animation-layer.anim-flip {
    animation: flipAnimation var(--anim-duration) linear var(--anim-count);
}

@keyframes flipAnimation {
    0% {
        transform: perspective(400px) rotateY(0deg);
    }

    100% {
        transform: perspective(400px) rotateY(360deg);
    }
}

/* 动画类 - 旋转动画 */
.material-animation-layer.anim-rotate {
    animation: rotateAnimation var(--anim-duration) linear var(--anim-count);
}

@keyframes rotateAnimation {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* 动画类 - 缩放动画 */
.material-animation-layer.anim-scale-grow {
    animation: scaleGrowAnimation var(--anim-duration) ease-in-out var(--anim-count);
}

.material-animation-layer.anim-scale-shrink {
    animation: scaleShrinkAnimation var(--anim-duration) ease-in-out var(--anim-count);
}

.material-animation-layer.anim-scale-both {
    animation: scaleBothAnimation var(--anim-duration) ease-in-out var(--anim-count);
}

@keyframes scaleGrowAnimation {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(var(--scale-max));
    }

    100% {
        transform: scale(1);
    }
}

@keyframes scaleShrinkAnimation {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(var(--scale-min));
    }

    100% {
        transform: scale(1);
    }
}

@keyframes scaleBothAnimation {
    0% {
        transform: scale(1);
    }

    25% {
        transform: scale(var(--scale-max));
    }

    50% {
        transform: scale(1);
    }

    75% {
        transform: scale(var(--scale-min));
    }

    100% {
        transform: scale(1);
    }
}