/* Core Page Styles - Extracted from core.js */
/* コアページスタイル - core.jsから抽出 */

/* カウントダウンスタイル */
.countdown {
    transition: all 1s ease-in-out;
}

/* 誕生日タイトルスタイル */
.birthday-title {
    font-family: 'Dancing Script', cursive;
    font-size: 3.5em;
    color: #ff6b81;
    text-shadow: 3px 3px 6px rgba(0,0,0,0.1);
    margin: 0;
    padding: 20px;
    animation: birthdayPop 1.5s ease-out;
}

/* 誕生日ポップアニメーション */
@keyframes birthdayPop {
    0% { transform: scale(0); opacity: 0; }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); opacity: 1; }
}

/* 写真アイテムスタイル */
.photo-item {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.photo-item:hover {
    transform: scale(1.05);
}

.photo-item:hover .play-icon {
    opacity: 1;
}

/* 再生アイコンスタイル */
.play-icon {
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

/* メモリー動画スタイル */
video.memory-photo {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

/* 誕生日表示関連スタイル */
.birthday-title-visible {
    display: block !important;
    opacity: 1 !important;
}

.birthday-message-visible {
    display: block !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.cake-2d-visible {
    display: flex !important;
}

.blow-button-visible {
    display: block !important;
}

.blow-button-hidden {
    opacity: 0;
    transform: translateY(20px);
}

.blow-button-animated {
    transition: all 0.5s ease;
    opacity: 1;
    transform: translateY(0);
}

.flame-hidden {
    opacity: 0;
}

.mic-permission-hidden {
    display: none !important;
}

.cake-container-hidden {
    display: none !important;
}

.birthday-message-container-visible {
    display: block !important;
}

/* 誕生日背景スタイル */
.birthday-background {
    transition: background 1.5s ease;
    background: linear-gradient(135deg, #ffe6eb 0%, #ffb8c6 100%);
}