:host {
    --primary-color: var(--ion-color-primary);
    --background-color: #f5f5f5;
}

ion-header {
    ion-toolbar {
        --background: transparent;

        ion-title {
            font-size: 18px;
            font-weight: 600;
        }
    }
}

.sign-in-card {
    background: white;
    margin: 16px;
    padding: 20px;
    border-radius: 16px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);

    .date-info {
        text-align: center;
        margin-bottom: 20px;

        h2 {
            margin: 0;
            font-size: 20px;
            color: #333;
        }

        .streak-info {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            margin-top: 8px;
            color: var(--primary-color);

            ion-icon {
                font-size: 20px;
            }
        }
    }

    .sign-in-button {
        background: var(--primary-color);
        color: white;
        padding: 16px;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        cursor: pointer;
        transition: all 0.3s ease;

        &.signed {
            background: #8bc34a;
        }

        ion-icon {
            font-size: 24px;
        }

        span {
            font-size: 16px;
            font-weight: 500;
        }
    }
}

.stats-card {
    background: white;
    margin: 16px;
    padding: 20px;
    border-radius: 16px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);

    .stat-item {
        text-align: center;

        .stat-value {
            font-size: 24px;
            font-weight: 600;
            color: var(--primary-color);
        }

        .stat-label {
            font-size: 14px;
            color: #666;
            margin-top: 4px;
        }
    }

    .stat-divider {
        width: 1px;
        height: 40px;
        background: #eee;
    }
}

.rewards-section {
    background: white;
    margin: 16px;
    padding: 20px;
    border-radius: 16px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);

    h3 {
        margin: 0 0 16px;
        font-size: 18px;
        color: #333;
    }

    .rewards-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
        gap: 12px;

        .reward-item {
            background: #f5f5f5;
            padding: 16px;
            border-radius: 8px;
            text-align: center;
            transition: all 0.3s ease;

            &.claimed {
                background: #e8f5e9;

                .claim-status {
                    color: #4caf50;
                }
            }

            &.available {
                background: #e3f2fd;
                cursor: pointer;

                &:hover {
                    transform: translateY(-2px);
                }
            }

            .day-count {
                font-size: 16px;
                font-weight: 500;
                color: #333;
            }

            .coin-amount {
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 4px;
                margin: 8px 0;
                color: var(--primary-color);
                font-size: 20px;
                font-weight: 600;

                ion-icon {
                    font-size: 24px;
                }
            }

            .claim-status {
                font-size: 14px;
                color: #666;

                ion-icon {
                    font-size: 18px;
                }
            }
        }
    }
}

.rules-section {
    background: white;
    margin: 16px;
    padding: 20px;
    border-radius: 16px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);

    h3 {
        margin: 0 0 16px;
        font-size: 18px;
        color: #333;
    }

    .rules-content {
        p {
            margin: 8px 0;
            font-size: 14px;
            color: #666;
            line-height: 1.5;
        }
    }
}

// 添加动画效果
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.sign-in-card,
.stats-card,
.rewards-section,
.rules-section {
    animation: fadeInUp 0.5s ease-out;
}