/* 智慧乐园 - 主样式文件 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700&display=swap');

:root {
    --primary-purple: #8b5cf6;
    --primary-pink: #ec4899;
    --primary-blue: #3b82f6;
    --primary-green: #10b981;
    --primary-orange: #f59e0b;
}

body {
    font-family: 'Noto Sans SC', sans-serif;
}

/* 卡片悬停效果 */
.card-hover {
    transition: all 0.3s ease;
}
.card-hover:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

/* 浮动动画 */
.float {
    animation: float 3s ease-in-out infinite;
}
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

/* 进度环 */
.progress-ring {
    transform: rotate(-90deg);
}

/* 游戏元素 */
.game-piece {
    cursor: pointer;
    transition: all 0.2s;
}
.game-piece:hover {
    transform: scale(1.1);
}

/* 抖动动画 */
@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-10px); }
    75% { transform: translateX(10px); }
}
.shake {
    animation: shake 0.3s ease;
}

/* 彩花动画 */
@keyframes confetti {
    0% { transform: translateY(-100%) rotate(0deg); opacity: 1; }
    100% { transform: translateY(100vh) rotate(720deg); opacity: 0; }
}
.confetti {
    position: fixed;
    width: 10px;
    height: 10px;
    animation: confetti 3s ease-out forwards;
    pointer-events: none;
    z-index: 100;
}

/* 星星飞入动画 */
@keyframes starFly {
    0% { transform: scale(1) translateY(0); opacity: 1; }
    100% { transform: scale(0.5) translateY(-50px); opacity: 0; }
}
.star-fly {
    animation: starFly 0.8s ease-out forwards;
}

/* 脉动动画 */
@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}
.pulse {
    animation: pulse 2s infinite;
}

/* 宠物弹跳 */
.pet-bounce {
    animation: float 2s ease-in-out infinite;
}

/* 迷宫格子 */
.maze-cell {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 拖拽悬停 */
.drag-over {
    background: rgba(139, 92, 246, 0.3) !important;
}

/* 弹窗缩放 */
.modal-content {
    transition: transform 0.3s ease;
}
.modal-content.active {
    transform: scale(1);
}
