/* === 🎨 卡通黄金主题变量 === */
:root {
    --c-gold: #FFC800;       /* 核心暖金 */
    --c-gold-dark: #FFB300;  /* 深金 */
    --c-bg: #FFFDF5;         /* 奶油底色 */
    --c-text: #4E342E;       /* 咖啡褐 */
    --c-text-light: #8D6E63; /* 浅咖色 */
    --c-white: #FFFFFF;
    
    /* 🔥 强制浏览器使用浅色方案 (修复原生控件变黑的问题) */
    color-scheme: light;
}

/* 基础样式复写 */
body { 
    font-family: "PingFang SC", "Microsoft YaHei", sans-serif; 
    background-color: var(--c-bg); 
    color: var(--c-text);
    -webkit-tap-highlight-color: transparent; 
}

/* 颜色工具类 */
.bg-theme { background-color: var(--c-gold); }
.bg-cream { background-color: var(--c-bg); }
.text-brown { color: var(--c-text); }
.text-brown-light { color: var(--c-text-light); }
.border-theme { border-color: var(--c-gold); }
.ring-theme { --tw-ring-color: var(--c-gold); }

/* 动画 */
.fade-enter-active, .fade-leave-active { transition: opacity 0.2s ease; }
.fade-enter-from, .fade-leave-to { opacity: 0; }
.slide-up-enter-active, .slide-up-leave-active { transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); } 
.slide-up-enter-from, .slide-up-leave-to { transform: translateY(100%); }
.pop-enter-active, .pop-leave-active { transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
.pop-enter-from, .pop-leave-to { transform: scale(0.8); opacity: 0; }

/* 细节优化 */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.pb-safe { padding-bottom: env(safe-area-inset-bottom); }
.pt-safe { padding-top: env(safe-area-inset-top); }

/* 日历样式 */
.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 8px;
    text-align: center;
}
.calendar-day {
    height: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-size: 14px;
    font-weight: bold;
    color: var(--c-text);
    position: relative;
    cursor: pointer;
    transition: all 0.2s;
}
/* 选中的日期 */
.calendar-day.selected {
    background-color: var(--c-gold);
    color: #4E342E;
    box-shadow: 0 4px 10px rgba(255, 200, 0, 0.4);
}
/* 今天的日期 */
.calendar-day.is-today::after {
    content: '';
    width: 4px;
    height: 4px;
    background-color: #3B82F6;
    border-radius: 50%;
    position: absolute;
    bottom: 4px;
}
/* 不是本月的日期 */
.calendar-day.other-month { opacity: 0.3; }
.calendar-weekdays { display: grid; grid-template-columns: repeat(7, 1fr); text-align: center; font-size: 12px; color: #8D6E63; margin-bottom: 10px; font-weight: bold; }

/* 打字动画 */
.typing-dots:after { content: '.'; animation: dots 1.5s steps(5, end) infinite; }
@keyframes dots { 0%, 20% { content: ''; } 40% { content: '.'; } 60% { content: '..'; } 80% { content: '...'; } 100% { content: ''; } }