/* Sun-Panel-Helper CSS */
/* 此文件由系统自动管理，请勿手动修改 */
/* 警告：手动修改可能导致样式冲突或程序异常 */
/* 上次更新：10/14/2025, 5:08:02 PM */

/* Sun-Panel-Helper CSS Start: fixed-widgets */
/* ====================== Widget组件样式 开始 ====================== */
/* Widget容器布局 */
.row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin-top: 20px;
}

/* Widget基础样式 */
.widget {
    box-sizing: content-box;
    border-radius: 0px;
    transition: transform 0.3s ease;
    margin: 0px;
    flex: 1 1 100px;
}

/* 换行控制器 */
.widget-break {
    flex-basis: 100%;
    width: 100%;
    height: 0;
    margin: 0;
    padding: 0;
    clear: both;
}

/* 移动端布局控制 */
@media screen and (max-width: 768px) {
    .row {
        gap: -8px;
        margin-top: -10px;
        display: flex;
        flex-grow: 150;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 100%;
    }

    .widget {
        display: none;
    }

    .widget.show-on-mobile {
        display: block;
    }
}

/* Widget hover效果 */
@media screen and (min-width: 769px) {
    .widget:hover {
        transform: translateY(-5px);
    }
}
/* ====================== Widget组件样式 结束 ====================== */
/* Sun-Panel-Helper CSS End: fixed-widgets */

/* Sun-Panel-Helper CSS Start: card-hover */
.icon-info-box .rounded-2xl {
  --scale-size: 1.1;
  --shake-degree: 15deg;
  --shake-speed: 0.5s;
  --scale-delay: 0.3s;
}
/* 鼠标悬停动画 */
.icon-info-box .rounded-2xl {
  transform-origin: center center;
  transition: transform 0.3s ease;
}

.icon-info-box .rounded-2xl:hover {
  transform: scale(var(--scale-size, 1));
}

.icon-info-box .rounded-2xl:hover {
  animation: info-shake-bounce var(--shake-speed, 0.5s) var(--scale-delay, 0s) ease-in-out forwards;
}

@keyframes info-shake-bounce {
  0%, 100% {
    transform: scale(var(--scale-size, 1)) rotate(0);
  }
  25% {
    transform: scale(var(--scale-size, 1)) rotate(var(--shake-degree, 15deg));
  }
  50% {
    transform: scale(var(--scale-size, 1)) rotate(calc(var(--shake-degree, 15deg) * -1));
  }
  75% {
    transform: scale(var(--scale-size, 1)) rotate(calc(var(--shake-degree, 15deg) * 0.25));
  }
  85% {
    transform: scale(var(--scale-size, 1)) rotate(calc(var(--shake-degree, 15deg) * -0.25));
  }
}

/* 小图标的动画保持不变 */
.icon-small-box .rounded-2xl:hover {
  -webkit-animation: small-shake-bounce .5s alternate !important;
  -moz-animation: small-shake-bounce .5s alternate !important;
  -o-animation: small-shake-bounce .5s alternate !important;
  animation: small-shake-bounce .5s alternate !important;
}

@keyframes small-shake-bounce {
  0%, 100% {
    transform: rotate(0);
  }
  25% {
    transform: rotate(15deg);
  }
  50% {
    transform: rotate(-15deg);
  }
  75% {
    transform: rotate(5deg);
  }
  85% {
    transform: rotate(5deg);
  }
}
/* Sun-Panel-Helper CSS End: card-hover */
