/* Vue、启动占位和维护页共用；状态文案由业务保留。 */
.piccat-loading {
    display: inline-block;
    position: relative;
    width: 32px;
    height: 32px;
    flex: 0 0 auto;
    vertical-align: middle;
}
/* 禁用按钮仍需保留加载点的颜色，普通禁用按钮沿用原样式。 */
button.piccat-loading-button:disabled {
    filter: none;
}

.piccat-loading--inline {
    margin-right: 6px;
}

.piccat-loading__orbit {
    position: absolute;
    inset: 0;
    transform-origin: 50% 50%;
    animation: piccat-loading-turn 1.4s linear infinite;
}
.piccat-loading__dot {
    position: absolute;
    width: 22%;
    height: 22%;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    background: #6654ff;
    animation: piccat-loading-color 3.6s ease-in-out infinite;
}
.piccat-loading__dot:nth-child(1) { left: 23.1532%; top: 34.5%; }
.piccat-loading__dot:nth-child(2) { left: 76.8468%; top: 34.5%; animation-delay: -2.4s; }
.piccat-loading__dot:nth-child(3) { left: 50%; top: 81%; animation-delay: -1.2s; }
@keyframes piccat-loading-turn {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
@keyframes piccat-loading-color {
    0%, 100% { background-color: #6654ff; }
    33.333% { background-color: #4ab7ff; }
    66.666% { background-color: #80e4f3; }
}
@media (prefers-reduced-motion: reduce) {
    .piccat-loading__orbit, .piccat-loading__dot { animation: none; }
    .piccat-loading__dot:nth-child(2) { background: #80e4f3; }
    .piccat-loading__dot:nth-child(3) { background: #4ab7ff; }
}
