/** * 这里是uni-app内置的常用样式变量 * * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App * */ /** * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 * * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 */ /* 颜色变量 */ /* 行为相关颜色 */ /* 文字基本颜色 */ /* 背景颜色 */ /* 边框颜色 */ /* 尺寸变量 */ /* 文字尺寸 */ /* 图片尺寸 */ /* Border Radius */ /* 水平间距 */ /* 垂直间距 */ /* 透明度 */ /* 文章场景相关 */ .page-gate-loading.data-v-5a4b0d9c { min-height: 60vh; display: flex; align-items: center; justify-content: center; padding: 80rpx 40rpx; } .page-gate-loading-text.data-v-5a4b0d9c { font-size: 28rpx; color: #64748b; } .daily-page.data-v-5a4b0d9c { /* 详见 ../styles/daily-theme.scss */ --radius-card: 32rpx; --radius-pill: 999rpx; --transition-smooth: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); min-height: 100vh; padding-bottom: 64rpx; } /* === Hero 区域 === */ .hero.data-v-5a4b0d9c { position: relative; padding: 60rpx 36rpx 120rpx; /* 适度增加空间,增强空气感 */ color: #ffffff; overflow: hidden; } .hero-bg.data-v-5a4b0d9c { position: absolute; inset: 0; background: linear-gradient(135deg, #163d22 0%, #204e2b 55%, #386641 100%); z-index: 0; } .hero-bg.data-v-5a4b0d9c::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 85% 15%, rgba(175, 226, 179, 0.15) 0%, transparent 60%); } .hero-content.data-v-5a4b0d9c { position: relative; z-index: 1; } .hero-row.data-v-5a4b0d9c { display: flex; align-items: flex-start; justify-content: space-between; gap: 12rpx; } .hero-main.data-v-5a4b0d9c { flex: 1; min-width: 0; padding-top: 4rpx; } .hero-title.data-v-5a4b0d9c { font-size: 56rpx; /* 大字体适老化 */ font-weight: 800; color: #ffffff; line-height: 1.2; letter-spacing: 1rpx; text-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.15); } .hero-subtitle.data-v-5a4b0d9c { display: block; font-size: 30rpx; color: rgba(255, 255, 255, 0.95); margin-top: 6rpx; font-weight: 500; } .hero-pill-group.data-v-5a4b0d9c { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12rpx; max-width: 380rpx; } .hero-pill.data-v-5a4b0d9c { display: inline-flex; align-items: center; gap: 10rpx; background: rgba(255, 255, 255, 0.12); border: 1rpx solid rgba(255, 255, 255, 0.2); border-radius: var(--radius-pill); padding: 18rpx 30rpx; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); min-height: 80rpx; /* 点击热区符合规范 */ box-sizing: border-box; transition: var(--transition-smooth); } .hero-pill.data-v-5a4b0d9c:active { background: rgba(255, 255, 255, 0.24); transform: scale(0.96); } .hero-pill.voice.data-v-5a4b0d9c { background: rgba(255, 255, 255, 0.18); border: 2rpx solid rgba(255, 255, 255, 0.4); padding: 16rpx 30rpx; } .hero-pill.voice.speaking.data-v-5a4b0d9c { background: #fbbf24; border-color: #fde68a; color: var(--slate-900); animation: voice-pulse-5a4b0d9c 1.4s ease-in-out infinite; } .hero-pill.voice.speaking .hero-pill-text.data-v-5a4b0d9c { color: var(--slate-900); } .hero-pill.voice.disabled.data-v-5a4b0d9c { opacity: 0.5; } .hero-pill.input.data-v-5a4b0d9c { background: #ffffff; border: 2rpx solid #ffffff; padding: 16rpx 32rpx; box-shadow: 0 8rpx 20rpx rgba(15, 23, 42, 0.1); } .hero-pill.input .hero-pill-text.data-v-5a4b0d9c { color: var(--primary); font-weight: 700; } .hero-pill.input.data-v-5a4b0d9c:active { background: var(--primary-light); } @keyframes voice-pulse-5a4b0d9c { 0%, 100% { box-shadow: 0 0 0 0 rgba(251, 191, 36, 0.55); } 50% { box-shadow: 0 0 0 12rpx rgba(251, 191, 36, 0); } } .hero-pill-icon-wrap.data-v-5a4b0d9c { width: 36rpx; height: 36rpx; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .hero-pill-text.data-v-5a4b0d9c { font-size: 32rpx; color: #ffffff; font-weight: 600; } /* === Bento 风格指标卡 === */ .stat-grid.data-v-5a4b0d9c { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20rpx; margin: -60rpx 24rpx 0; position: relative; z-index: 3; } .stat-card.data-v-5a4b0d9c { background: #ffffff; border-radius: var(--radius-card); padding: 30rpx 26rpx; box-shadow: var(--shadow-premium); display: flex; flex-direction: column; justify-content: space-between; min-height: 250rpx; border: 1rpx solid rgba(15, 23, 42, 0.04); box-sizing: border-box; transition: var(--transition-smooth); position: relative; overflow: hidden; } .stat-card.data-v-5a4b0d9c:active { transform: translateY(-2rpx); box-shadow: 0 16rpx 36rpx rgba(15, 23, 42, 0.08); } .stat-fasting.data-v-5a4b0d9c { background: radial-gradient(circle at 100% 0%, #e6fdf9 0%, #ffffff 65%); } .stat-postprandial.data-v-5a4b0d9c { background: radial-gradient(circle at 100% 0%, #fff7ed 0%, #ffffff 65%); } .stat-other.data-v-5a4b0d9c { grid-column: span 2; background: radial-gradient(circle at 100% 0%, #f5f3ff 0%, #ffffff 65%); display: grid !important; grid-template-areas: "head value" "foot value" !important; grid-template-columns: 1fr auto !important; grid-template-rows: auto auto !important; align-items: center !important; min-height: 170rpx !important; padding: 26rpx 32rpx !important; } .stat-other .stat-card-head.data-v-5a4b0d9c { grid-area: head !important; display: flex !important; align-items: center !important; justify-content: flex-start !important; margin: 0 !important; padding: 0 !important; gap: 12rpx !important; } .stat-other .stat-card-value-row.data-v-5a4b0d9c { grid-area: value !important; display: flex !important; align-items: baseline !important; margin: 0 !important; padding: 0 !important; gap: 6rpx !important; } .stat-other .stat-card-foot.data-v-5a4b0d9c { grid-area: foot !important; display: flex !important; align-items: center !important; justify-content: flex-start !important; margin-top: 12rpx !important; padding: 0 !important; gap: 16rpx !important; } .stat-card.is-high.data-v-5a4b0d9c { box-shadow: var(--shadow-glow-danger); border-color: rgba(239, 68, 68, 0.08); } .stat-card-head.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: space-between; gap: 8rpx; } .stat-card-tag.data-v-5a4b0d9c { display: inline-flex; align-items: center; padding: 8rpx 18rpx; border-radius: 12rpx; font-size: 26rpx; font-weight: 700; } .stat-fasting .stat-card-tag.data-v-5a4b0d9c { background: rgba(13, 148, 136, 0.09); color: #386641; } .stat-postprandial .stat-card-tag.data-v-5a4b0d9c { background: rgba(245, 158, 11, 0.09); color: #d97706; } .stat-other .stat-card-tag.data-v-5a4b0d9c { background: rgba(99, 102, 241, 0.09); color: #4f46e5; } .stat-card-tag-dot.data-v-5a4b0d9c { display: none; } .stat-card-tag-text.data-v-5a4b0d9c { font-size: 26rpx; font-weight: 700; } .stat-card-flag.data-v-5a4b0d9c { display: inline-flex; align-items: center; gap: 6rpx; padding: 6rpx 14rpx; border-radius: var(--radius-pill); background: rgba(239, 68, 68, 0.08); border: 1rpx solid rgba(239, 68, 68, 0.15); } .stat-card-flag-icon.data-v-5a4b0d9c { font-size: 20rpx; color: var(--danger); font-weight: 700; line-height: 1; } .stat-card-flag-text.data-v-5a4b0d9c { font-size: 22rpx; color: var(--danger); font-weight: 700; } .stat-card-value-row.data-v-5a4b0d9c { display: flex; align-items: baseline; gap: 6rpx; margin-top: 16rpx; margin-bottom: 8rpx; } .stat-card-value.data-v-5a4b0d9c { font-size: 64rpx; font-weight: 900; background: linear-gradient(180deg, var(--slate-900) 0%, #334155 100%); -webkit-background-clip: text; background-clip: text; color: transparent; line-height: 1.05; letter-spacing: -1rpx; } .stat-card-value.is-high.data-v-5a4b0d9c { background: var(--danger-grad); -webkit-background-clip: text; background-clip: text; color: transparent; } .stat-card-unit.data-v-5a4b0d9c { font-size: 24rpx; color: var(--slate-600); font-weight: 600; } .stat-card-foot.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: space-between; gap: 8rpx; margin-top: 4rpx; } .stat-card-date.data-v-5a4b0d9c { font-size: 24rpx; color: var(--slate-600); font-weight: 500; } .stat-card-trend.data-v-5a4b0d9c { display: inline-flex; align-items: center; gap: 4rpx; padding: 6rpx 14rpx; border-radius: var(--radius-pill); transition: var(--transition-smooth); } .stat-card-trend.trend-up.data-v-5a4b0d9c { background: rgba(239, 68, 68, 0.08); } .stat-card-trend.trend-up .stat-card-trend-arrow.data-v-5a4b0d9c, .stat-card-trend.trend-up .stat-card-trend-delta.data-v-5a4b0d9c { color: var(--danger); } .stat-card-trend.trend-down.data-v-5a4b0d9c { background: rgba(16, 185, 129, 0.08); } .stat-card-trend.trend-down .stat-card-trend-arrow.data-v-5a4b0d9c, .stat-card-trend.trend-down .stat-card-trend-delta.data-v-5a4b0d9c { color: var(--success); } .stat-card-trend.trend-flat.data-v-5a4b0d9c { background: var(--slate-100); } .stat-card-trend.trend-flat .stat-card-trend-arrow.data-v-5a4b0d9c, .stat-card-trend.trend-flat .stat-card-trend-delta.data-v-5a4b0d9c { color: var(--slate-600); } .stat-card-trend-arrow.data-v-5a4b0d9c { font-size: 24rpx; font-weight: 800; line-height: 1; } .stat-card-trend-delta.data-v-5a4b0d9c { font-size: 24rpx; font-weight: 600; } /* === 就诊卡选择器 === */ .card-switcher.data-v-5a4b0d9c { display: flex; align-items: center; gap: 16rpx; margin: 22rpx 24rpx 0; padding: 8rpx 12rpx; background: transparent; border-radius: 0; box-shadow: none; } .card-switcher-head.data-v-5a4b0d9c { display: flex; align-items: center; gap: 8rpx; flex-shrink: 0; padding-right: 10rpx; border-right: 2rpx solid var(--slate-200); } .card-switcher-label.data-v-5a4b0d9c { font-size: 28rpx; color: var(--slate-900); font-weight: 700; } .card-switcher-count.data-v-5a4b0d9c { font-size: 24rpx; color: var(--slate-600); background: var(--slate-100); padding: 4rpx 14rpx; border-radius: var(--radius-pill); font-weight: 600; } .card-switcher-scroll.data-v-5a4b0d9c { flex: 1; min-width: 0; white-space: nowrap; } .card-chip-row.data-v-5a4b0d9c { display: inline-flex; flex-wrap: nowrap; gap: 8rpx; padding: 2rpx; } .card-chip.data-v-5a4b0d9c { flex-shrink: 0; display: inline-flex; align-items: center; gap: 8rpx; padding: 16rpx 28rpx; border-radius: var(--radius-pill); background: #ffffff; border: 1rpx solid var(--slate-200); transition: var(--transition-smooth); min-height: 68rpx; box-sizing: border-box; } .card-chip.active.data-v-5a4b0d9c { background: var(--primary-grad); border-color: transparent; box-shadow: var(--shadow-glow-primary); } .card-chip.active .card-chip-name.data-v-5a4b0d9c, .card-chip.active .card-chip-meta.data-v-5a4b0d9c { color: #ffffff; } .card-chip.data-v-5a4b0d9c:active { transform: scale(0.96); } .card-chip-name.data-v-5a4b0d9c { font-size: 28rpx; font-weight: 700; color: #1e293b; line-height: 1.1; } .card-chip-meta.data-v-5a4b0d9c { font-size: 24rpx; color: var(--slate-600); line-height: 1.1; } .range-bar.data-v-5a4b0d9c { display: flex; gap: 12rpx; margin: 22rpx 24rpx 0; background: #ffffff; border-radius: var(--radius-pill); padding: 10rpx; box-shadow: var(--shadow-sm); border: 1rpx solid var(--slate-100); position: relative; z-index: 2; } .range-item.data-v-5a4b0d9c { flex: 1; text-align: center; padding: 22rpx 0; border-radius: var(--radius-pill); font-size: 32rpx; color: #334155; font-weight: 600; min-height: 76rpx; box-sizing: border-box; display: flex; align-items: center; justify-content: center; transition: var(--transition-smooth); } .range-item.active.data-v-5a4b0d9c { background: var(--primary-grad); color: #ffffff; font-weight: 700; box-shadow: var(--shadow-glow-primary); } .range-item.data-v-5a4b0d9c:active:not(.active) { background: var(--slate-100); } /* === 语音播报设置 === */ .voice-bar.data-v-5a4b0d9c { margin: 22rpx 24rpx 0; background: #ffffff; border-radius: var(--radius-card); padding: 26rpx; box-shadow: var(--shadow-premium); display: flex; align-items: center; justify-content: space-between; gap: 18rpx; border: 2rpx solid #e0f2fe; transition: var(--transition-smooth); } .voice-bar.data-v-5a4b0d9c:active { border-color: #bae6fd; } .voice-bar-left.data-v-5a4b0d9c { display: flex; align-items: center; gap: 16rpx; flex: 1; min-width: 0; } .voice-bar-icon.data-v-5a4b0d9c { font-size: 48rpx; line-height: 1; } .voice-bar-text.data-v-5a4b0d9c { display: flex; flex-direction: column; gap: 4rpx; min-width: 0; } .voice-bar-title.data-v-5a4b0d9c { font-size: 34rpx; font-weight: 700; color: var(--slate-900); } .voice-bar-hint.data-v-5a4b0d9c { font-size: 26rpx; color: var(--slate-600); margin-top: 4rpx; } .voice-bar-actions.data-v-5a4b0d9c { display: flex; align-items: center; gap: 16rpx; flex-shrink: 0; } .voice-switch.data-v-5a4b0d9c { display: flex; align-items: center; gap: 12rpx; padding: 10rpx 12rpx 10rpx 18rpx; border-radius: var(--radius-pill); background: var(--slate-100); transition: var(--transition-smooth); min-height: 76rpx; box-sizing: border-box; } .voice-switch.on.data-v-5a4b0d9c { background: linear-gradient(135deg, #fef3c7, #fde68a); } .voice-switch-label.data-v-5a4b0d9c { font-size: 28rpx; color: #1e293b; font-weight: 700; } .voice-switch-track.data-v-5a4b0d9c { width: 80rpx; height: 44rpx; background: var(--slate-300); border-radius: var(--radius-pill); position: relative; transition: var(--transition-smooth); } .voice-switch.on .voice-switch-track.data-v-5a4b0d9c { background: var(--warning); } .voice-switch-knob.data-v-5a4b0d9c { position: absolute; width: 36rpx; height: 36rpx; border-radius: var(--radius-pill); background: #ffffff; top: 4rpx; left: 4rpx; box-shadow: 0 2rpx 6rpx rgba(15, 23, 42, 0.15); transition: var(--transition-smooth); } .voice-switch.on .voice-switch-knob.data-v-5a4b0d9c { transform: translateX(36rpx); } .voice-toggle.data-v-5a4b0d9c { width: 76rpx; height: 76rpx; border-radius: var(--radius-pill); background: var(--primary-grad); display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow-glow-primary); transition: var(--transition-smooth); } .voice-toggle.off.data-v-5a4b0d9c { background: var(--slate-400); box-shadow: none; } .voice-toggle.data-v-5a4b0d9c:active { transform: scale(0.95); } .voice-toggle-icon.data-v-5a4b0d9c { font-size: 36rpx; color: #ffffff; line-height: 1; } .card.data-v-5a4b0d9c { background: #ffffff; border-radius: var(--radius-card); margin: 28rpx 24rpx 0; padding: 30rpx 28rpx; box-shadow: var(--shadow-premium); animation: card-rise-5a4b0d9c 0.45s ease-out both; } /* 动效延迟展现列表,视觉更灵动 */ .streak-strip.data-v-5a4b0d9c { animation: card-rise-5a4b0d9c 0.45s ease-out 0.03s both; } .card-switcher.data-v-5a4b0d9c { animation: card-rise-5a4b0d9c 0.45s ease-out 0.06s both; } .range-bar.data-v-5a4b0d9c { animation: card-rise-5a4b0d9c 0.4s ease-out 0.08s both; } .voice-bar.data-v-5a4b0d9c { animation: card-rise-5a4b0d9c 0.4s ease-out 0.1s both; } .chart-card.data-v-5a4b0d9c { animation: card-rise-5a4b0d9c 0.5s ease-out 0.12s both; } .calendar-card.data-v-5a4b0d9c { animation: card-rise-5a4b0d9c 0.5s ease-out 0.14s both; } .records-section.data-v-5a4b0d9c { animation: card-rise-5a4b0d9c 0.5s ease-out 0.16s both; } @keyframes card-rise-5a4b0d9c { from { opacity: 0; transform: translateY(16rpx); } to { opacity: 1; transform: translateY(0); } } @keyframes stat-card-pop-5a4b0d9c { from { opacity: 0; transform: translateY(24rpx) scale(0.96); } to { opacity: 1; transform: translateY(0) scale(1); } } .stat-card.data-v-5a4b0d9c { animation: stat-card-pop-5a4b0d9c 0.5s cubic-bezier(0.16, 1, 0.3, 1) both; } .stat-fasting.data-v-5a4b0d9c { animation-delay: 0.04s; } .stat-postprandial.data-v-5a4b0d9c { animation-delay: 0.08s; } .stat-other.data-v-5a4b0d9c { animation-delay: 0.12s; } .card-head.data-v-5a4b0d9c { display: flex; justify-content: space-between; align-items: center; } .card-title.data-v-5a4b0d9c { font-size: 36rpx; font-weight: 800; color: var(--slate-900); letter-spacing: 0.5rpx; } .card-subtitle.data-v-5a4b0d9c { display: block; font-size: 26rpx; color: var(--slate-600); margin-top: 6rpx; } .card-legend.data-v-5a4b0d9c { display: flex; gap: 18rpx; } .legend-item.data-v-5a4b0d9c { display: flex; align-items: center; gap: 8rpx; font-size: 22rpx; color: var(--slate-600); } .legend-dot.data-v-5a4b0d9c { width: 16rpx; height: 16rpx; border-radius: var(--radius-pill); } .legend-dot-fasting.data-v-5a4b0d9c { background: var(--primary); } .legend-dot-postprandial.data-v-5a4b0d9c { background: var(--warning); } .chart-summary.data-v-5a4b0d9c { display: flex; align-items: stretch; gap: 0; margin-top: 18rpx; padding: 16rpx 4rpx; background: linear-gradient(135deg, var(--slate-50) 0%, var(--slate-100) 100%); border-radius: 18rpx; border: 1rpx solid #eef2f5; } .chart-summary-item.data-v-5a4b0d9c { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4rpx; position: relative; } .chart-summary-item + .chart-summary-item.data-v-5a4b0d9c::before { content: ""; position: absolute; left: 0; top: 18%; bottom: 18%; width: 1rpx; background: var(--slate-200); } .chart-summary-num.data-v-5a4b0d9c { font-size: 44rpx; font-weight: 800; color: var(--slate-900); line-height: 1.1; letter-spacing: -0.5rpx; } .chart-summary-item:first-child .chart-summary-num.data-v-5a4b0d9c { color: var(--danger); } .chart-summary-item:nth-child(2) .chart-summary-num.data-v-5a4b0d9c { color: var(--primary); } .chart-summary-label.data-v-5a4b0d9c { font-size: 24rpx; color: var(--slate-600); letter-spacing: 1rpx; font-weight: 500; margin-top: 4rpx; } .chart-canvas-wrap.data-v-5a4b0d9c { position: relative; width: 100%; height: 460rpx; margin-top: 22rpx; } .chart-canvas-placeholder.data-v-5a4b0d9c { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: linear-gradient(180deg, var(--slate-50) 0%, var(--slate-100) 100%); border-radius: 18rpx; color: var(--slate-600); font-size: 28rpx; letter-spacing: 1rpx; font-weight: 500; } .chart-canvas.data-v-5a4b0d9c { width: 100%; height: 100%; display: block; position: relative; z-index: 1; } .chart-empty.data-v-5a4b0d9c { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14rpx; color: var(--slate-600); } .chart-empty-icon.data-v-5a4b0d9c { font-size: 72rpx; } .chart-empty-text.data-v-5a4b0d9c { font-size: 30rpx; color: var(--slate-600); font-weight: 500; } .chart-tip.data-v-5a4b0d9c { position: absolute; min-width: 220rpx; padding: 16rpx 20rpx; background: rgba(15, 23, 42, 0.94); color: #ffffff; border-radius: 12rpx; box-shadow: 0 8rpx 24rpx rgba(15, 23, 42, 0.18); pointer-events: none; z-index: 999; } .chart-tip-date.data-v-5a4b0d9c { font-size: 26rpx; color: rgba(255, 255, 255, 0.9); font-weight: 600; } .chart-tip-row.data-v-5a4b0d9c { display: flex; align-items: center; gap: 10rpx; margin-top: 8rpx; } .chart-tip-text.data-v-5a4b0d9c { font-size: 28rpx; color: #ffffff; font-weight: 500; } /* === 日常记录列表样式 === */ .records-section.data-v-5a4b0d9c { margin: 28rpx 24rpx 0; } .records-head.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20rpx; padding: 0 6rpx; } .records-count.data-v-5a4b0d9c { font-size: 28rpx; color: var(--slate-600); font-weight: 600; } .day-card.data-v-5a4b0d9c { background: #ffffff; border-radius: 28rpx; padding: 30rpx 28rpx; margin-bottom: 22rpx; box-shadow: var(--shadow-premium); border: var(--border-premium); } .day-head.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14rpx; border-bottom: 1rpx solid var(--slate-100); padding-bottom: 12rpx; } .day-head-left.data-v-5a4b0d9c { display: flex; align-items: center; gap: 10rpx; } .day-date.data-v-5a4b0d9c { font-size: 36rpx; font-weight: 800; color: var(--slate-900); } .day-today-pill.data-v-5a4b0d9c { font-size: 24rpx; padding: 4rpx 16rpx; border-radius: var(--radius-pill); background: var(--primary-grad); color: #ffffff; font-weight: 600; box-shadow: var(--shadow-glow-primary); } .day-head-right.data-v-5a4b0d9c { display: flex; align-items: center; gap: 14rpx; } .day-weekday.data-v-5a4b0d9c { font-size: 26rpx; color: var(--slate-600); font-weight: 500; } .day-speak-btn.data-v-5a4b0d9c { display: flex; align-items: center; gap: 8rpx; padding: 14rpx 28rpx; border-radius: var(--radius-pill); background: var(--primary-light); border: 1rpx solid rgba(13, 148, 136, 0.2); box-shadow: none; min-height: 64rpx; box-sizing: border-box; transition: var(--transition-smooth); } .day-speak-btn .day-speak-icon.data-v-5a4b0d9c { font-size: 26rpx; color: var(--primary); } .day-speak-btn .day-speak-text.data-v-5a4b0d9c { font-size: 26rpx; color: var(--primary); font-weight: 700; } .day-speak-btn.data-v-5a4b0d9c:active { background: var(--primary-glow); transform: scale(0.96); } .day-block.data-v-5a4b0d9c { margin-top: 18rpx; padding: 24rpx; background: var(--slate-50); border-radius: 20rpx; border: 1rpx solid var(--slate-100); } .day-block-head.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: space-between; } .day-block-tag.data-v-5a4b0d9c { font-size: 24rpx; padding: 8rpx 20rpx; border-radius: var(--radius-pill); font-weight: 700; line-height: 1; } .day-block-tag.tag-blood.data-v-5a4b0d9c { background: var(--primary-light); color: var(--primary); border: 1rpx solid rgba(13, 148, 136, 0.15); } .day-block-tag.tag-diet.data-v-5a4b0d9c { background: var(--warning-light); color: #d97706; border: 1rpx solid rgba(245, 158, 11, 0.15); } .day-block-tag.tag-exercise.data-v-5a4b0d9c { background: var(--violet-light); color: #4f46e5; border: 1rpx solid rgba(99, 102, 241, 0.15); } .day-block-tag.tag-tracking.data-v-5a4b0d9c { background: var(--slate-100); color: var(--slate-600); border: 1rpx solid var(--slate-200); } .day-block-time.data-v-5a4b0d9c { font-size: 26rpx; color: var(--slate-600); font-weight: 500; } .metric-grid.data-v-5a4b0d9c { display: flex; flex-wrap: wrap; gap: 12rpx; margin-top: 14rpx; } .metric-cell.data-v-5a4b0d9c { flex: 1 1 calc(50% - 6rpx); background: #ffffff; border-radius: 14rpx; padding: 18rpx 18rpx 16rpx; position: relative; border: 1rpx solid var(--slate-100); } .metric-row-head.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: space-between; gap: 8rpx; } .metric-label.data-v-5a4b0d9c { font-size: 26rpx; color: var(--slate-600); font-weight: 600; } .metric-flag.data-v-5a4b0d9c { display: inline-flex; align-items: center; gap: 4rpx; padding: 2rpx 10rpx 2rpx 6rpx; border-radius: var(--radius-pill); background: var(--danger-light); border: 1rpx solid #fecaca; } .metric-flag.up.data-v-5a4b0d9c { background: var(--danger-grad); border-color: transparent; box-shadow: var(--shadow-glow-danger); } .metric-flag-icon.data-v-5a4b0d9c { font-size: 16rpx; color: #ffffff; font-weight: 700; line-height: 1; } .metric-flag-text.data-v-5a4b0d9c { font-size: 18rpx; color: #ffffff; font-weight: 600; } .metric-value-row.data-v-5a4b0d9c { display: flex; align-items: baseline; gap: 6rpx; margin-top: 6rpx; } .metric-value.data-v-5a4b0d9c { font-size: 40rpx; font-weight: 800; color: var(--slate-900); line-height: 1.1; } .metric-value.is-high.data-v-5a4b0d9c { color: var(--danger); } .metric-unit.data-v-5a4b0d9c { font-size: 24rpx; color: var(--slate-600); font-weight: 500; } .metric-trend.data-v-5a4b0d9c { display: inline-flex; align-items: center; gap: 4rpx; margin-top: 10rpx; padding: 2rpx 12rpx 2rpx 8rpx; border-radius: var(--radius-pill); background: var(--slate-100); border: 1rpx solid transparent; } .metric-trend.trend-up.data-v-5a4b0d9c { background: #fef3c7; border-color: #fde68a; } .metric-trend.trend-up .metric-trend-arrow.data-v-5a4b0d9c, .metric-trend.trend-up .metric-trend-text.data-v-5a4b0d9c { color: #b45309; } .metric-trend.trend-down.data-v-5a4b0d9c { background: #dcfce7; border-color: #bbf7d0; } .metric-trend.trend-down .metric-trend-arrow.data-v-5a4b0d9c, .metric-trend.trend-down .metric-trend-text.data-v-5a4b0d9c { color: #15803d; } .metric-trend.trend-flat.data-v-5a4b0d9c { background: var(--slate-100); border-color: var(--slate-200); } .metric-trend.trend-flat .metric-trend-arrow.data-v-5a4b0d9c, .metric-trend.trend-flat .metric-trend-text.data-v-5a4b0d9c { color: var(--slate-600); } .metric-trend-arrow.data-v-5a4b0d9c { font-size: 20rpx; font-weight: 700; line-height: 1; } .metric-trend-text.data-v-5a4b0d9c { font-size: 24rpx; font-weight: 700; } .day-meta-row.data-v-5a4b0d9c { display: flex; flex-wrap: wrap; gap: 10rpx; margin-top: 14rpx; } .meta-chip.data-v-5a4b0d9c { font-size: 22rpx; color: var(--slate-600); background: #ffffff; border-radius: var(--radius-pill); padding: 6rpx 18rpx; border: 1rpx solid var(--slate-200); } .day-remark.data-v-5a4b0d9c { margin-top: 14rpx; font-size: 28rpx; color: var(--slate-900); line-height: 1.7; } .diet-rows.data-v-5a4b0d9c { margin-top: 14rpx; display: flex; flex-direction: column; gap: 10rpx; } .diet-row.data-v-5a4b0d9c { display: flex; gap: 10rpx; align-items: flex-start; } .diet-meal.data-v-5a4b0d9c { flex-shrink: 0; width: 140rpx; font-size: 28rpx; color: #b45309; font-weight: 700; } .diet-text.data-v-5a4b0d9c { flex: 1; font-size: 28rpx; color: var(--slate-900); line-height: 1.7; } .exercise-row.data-v-5a4b0d9c { display: flex; flex-wrap: wrap; align-items: center; gap: 12rpx; margin-top: 14rpx; } .exercise-type.data-v-5a4b0d9c { font-size: 26rpx; color: var(--slate-900); font-weight: 600; } .exercise-duration.data-v-5a4b0d9c { font-size: 24rpx; color: var(--violet); background: var(--violet-light); border-radius: var(--radius-pill); padding: 4rpx 16rpx; font-weight: 600; } .exercise-intensity.data-v-5a4b0d9c { font-size: 24rpx; color: var(--slate-600); font-weight: 500; } .tracking-content.data-v-5a4b0d9c { margin-top: 12rpx; display: flex; flex-direction: column; gap: 6rpx; } .tracking-line.data-v-5a4b0d9c { font-size: 28rpx; color: var(--slate-900); line-height: 1.7; word-break: break-all; } .state-card.data-v-5a4b0d9c { background: #ffffff; border-radius: var(--radius-card); padding: 60rpx 24rpx; text-align: center; box-shadow: var(--shadow-premium); border: var(--border-premium); } .state-icon.data-v-5a4b0d9c { display: block; font-size: 76rpx; margin-bottom: 16rpx; } .state-text.data-v-5a4b0d9c { font-size: 30rpx; color: var(--slate-600); font-weight: 500; } .footer-tip.data-v-5a4b0d9c { text-align: center; font-size: 24rpx; color: var(--slate-400); margin-top: 40rpx; line-height: 1.6; } /* === 顶部 Hero 漂浮小饰品 === */ .hero-orb.data-v-5a4b0d9c { position: absolute; border-radius: 50%; background: rgba(255, 255, 255, 0.08); pointer-events: none; filter: blur(4rpx); } .hero-orb-1.data-v-5a4b0d9c { width: 220rpx; height: 220rpx; top: -60rpx; right: -40rpx; background: rgba(255, 255, 255, 0.12); } .hero-orb-2.data-v-5a4b0d9c { width: 140rpx; height: 140rpx; top: 40rpx; right: 240rpx; background: rgba(253, 224, 71, 0.1); } .hero-orb-3.data-v-5a4b0d9c { width: 90rpx; height: 90rpx; bottom: 30rpx; left: 40%; background: rgba(255, 255, 255, 0.08); } .hero-greet-row.data-v-5a4b0d9c { display: flex; align-items: center; gap: 12rpx; margin-bottom: 6rpx; } .hero-greet-icon-wrap.data-v-5a4b0d9c { width: 52rpx; height: 52rpx; border-radius: 999rpx; background: rgba(255, 255, 255, 0.18); border: 1rpx solid rgba(255, 255, 255, 0.28); display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .hero-greet-text.data-v-5a4b0d9c { font-size: 30rpx; color: rgba(255, 255, 255, 0.95); letter-spacing: 2rpx; font-weight: 500; } .hero-subtitle-row.data-v-5a4b0d9c { display: flex; align-items: center; gap: 16rpx; margin-top: 10rpx; flex-wrap: wrap; } .hero-status-chip.data-v-5a4b0d9c { display: inline-flex; align-items: center; gap: 8rpx; padding: 8rpx 18rpx 8rpx 12rpx; border-radius: var(--radius-pill); font-size: 28rpx; font-weight: 600; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); } .hero-status-chip.done.data-v-5a4b0d9c { background: rgba(34, 197, 94, 0.25); color: #ffffff; border: 1rpx solid rgba(187, 247, 208, 0.5); } .hero-status-chip.pending.data-v-5a4b0d9c { background: rgba(251, 191, 36, 0.28); color: #ffffff; border: 1rpx solid rgba(253, 230, 138, 0.5); } .hero-status-icon.data-v-5a4b0d9c { width: 32rpx; height: 32rpx; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .hero-status-text.data-v-5a4b0d9c { line-height: 1.2; } /* === 打卡条 === */ .streak-strip.data-v-5a4b0d9c { position: relative; margin: 22rpx 24rpx 0; background: linear-gradient(135deg, #ffffff 0%, var(--primary-light) 100%); border: 1rpx solid rgba(13, 148, 136, 0.12); border-radius: var(--radius-card); padding: 32rpx; display: flex; align-items: center; justify-content: space-between; gap: 20rpx; box-shadow: 0 10rpx 30rpx rgba(13, 148, 136, 0.05); overflow: hidden; min-height: 132rpx; box-sizing: border-box; transition: var(--transition-smooth); } .streak-strip.data-v-5a4b0d9c:active { transform: scale(0.99); } .streak-strip.data-v-5a4b0d9c::after { content: ""; position: absolute; top: -40rpx; right: -40rpx; width: 160rpx; height: 160rpx; border-radius: 50%; background: radial-gradient(circle, rgba(251, 191, 36, 0.15) 0%, rgba(251, 191, 36, 0) 70%); pointer-events: none; } .streak-strip-left.data-v-5a4b0d9c { display: flex; align-items: center; gap: 16rpx; flex-shrink: 0; } .streak-flame.data-v-5a4b0d9c { width: 92rpx; height: 92rpx; border-radius: 24rpx; background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%); display: flex; align-items: center; justify-content: center; box-shadow: inset 0 -3rpx 0 rgba(245, 158, 11, 0.18); flex-shrink: 0; } .streak-flame.active.data-v-5a4b0d9c { background: linear-gradient(135deg, #fb923c 0%, #f97316 100%); box-shadow: 0 6rpx 14rpx rgba(249, 115, 22, 0.35), inset 0 -3rpx 0 rgba(0, 0, 0, 0.08); } .streak-flame-icon.data-v-5a4b0d9c { font-size: 52rpx; line-height: 1; } .streak-info.data-v-5a4b0d9c { display: flex; flex-direction: column; gap: 4rpx; } .streak-num-row.data-v-5a4b0d9c { display: flex; align-items: baseline; gap: 8rpx; flex-wrap: wrap; } .streak-num.data-v-5a4b0d9c { font-size: 64rpx; font-weight: 800; line-height: 1; letter-spacing: -1rpx; background: var(--primary-grad); -webkit-background-clip: text; background-clip: text; color: transparent; } .streak-num-unit.data-v-5a4b0d9c { font-size: 32rpx; color: var(--slate-900); font-weight: 700; } .streak-hint.data-v-5a4b0d9c { margin-left: 8rpx; font-size: 22rpx; color: var(--slate-600); background: var(--slate-100); border-radius: var(--radius-pill); padding: 4rpx 14rpx; font-weight: 500; } .streak-label.data-v-5a4b0d9c { font-size: 26rpx; color: var(--slate-600); letter-spacing: 0.5rpx; margin-top: 2rpx; } .streak-strip-right.data-v-5a4b0d9c { display: flex; flex-direction: column; align-items: flex-end; gap: 10rpx; flex-shrink: 0; } .streak-dots-row.data-v-5a4b0d9c { display: flex; gap: 12rpx; } .streak-dot.data-v-5a4b0d9c { display: flex; flex-direction: column; align-items: center; gap: 6rpx; } .streak-dot-label.data-v-5a4b0d9c { font-size: 22rpx; color: var(--slate-600); line-height: 1; font-weight: 600; } .streak-dot-mark.data-v-5a4b0d9c { width: 26rpx; height: 26rpx; border-radius: var(--radius-pill); background: var(--slate-200); } .streak-dot.done .streak-dot-mark.data-v-5a4b0d9c { background: var(--primary-grad); box-shadow: 0 2rpx 6rpx rgba(32, 78, 43, 0.3); } .streak-dot.today .streak-dot-label.data-v-5a4b0d9c { color: var(--slate-900); font-weight: 700; } .streak-dot.today .streak-dot-mark.data-v-5a4b0d9c { width: 30rpx; height: 30rpx; border: 2rpx solid var(--primary); } .streak-dot.today.done .streak-dot-mark.data-v-5a4b0d9c { border-color: #ffffff; box-shadow: 0 0 0 3rpx var(--primary), 0 2rpx 8rpx rgba(32, 78, 43, 0.4); } .streak-week-text.data-v-5a4b0d9c { font-size: 24rpx; color: var(--slate-600); letter-spacing: 1rpx; font-weight: 600; } /* === 健康月历 === */ .calendar-card.data-v-5a4b0d9c { margin: 22rpx 24rpx 0; } .calendar-head.data-v-5a4b0d9c { display: flex; align-items: flex-start; justify-content: space-between; gap: 16rpx; } .calendar-head-left.data-v-5a4b0d9c { flex: 1; min-width: 0; } .calendar-stat.data-v-5a4b0d9c { flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; gap: 2rpx; padding: 4rpx 18rpx 4rpx 22rpx; background: linear-gradient(135deg, #eef6ef 0%, #ccfbf1 100%); border-radius: 20rpx; border-left: 6rpx solid var(--primary); } .calendar-stat-num.data-v-5a4b0d9c { font-size: 48rpx; font-weight: 800; color: #386641; line-height: 1.1; letter-spacing: -1rpx; } .calendar-stat-label.data-v-5a4b0d9c { font-size: 22rpx; color: #0f766e; font-weight: 600; } .calendar-weekdays.data-v-5a4b0d9c { display: flex; margin-top: 22rpx; padding: 0 4rpx; } .calendar-weekday.data-v-5a4b0d9c { flex: 1; text-align: center; font-size: 26rpx; color: var(--slate-600); font-weight: 700; letter-spacing: 1rpx; line-height: 1.4; padding: 8rpx 0; } .calendar-weekday-weekend.data-v-5a4b0d9c { color: var(--warning); } .calendar-grid.data-v-5a4b0d9c { margin-top: 6rpx; background: var(--slate-50); border-radius: 20rpx; padding: 12rpx 6rpx; display: flex; flex-direction: column; gap: 6rpx; } .calendar-row.data-v-5a4b0d9c { display: flex; gap: 6rpx; } .calendar-cell.data-v-5a4b0d9c { flex: 1; aspect-ratio: 1/1; min-height: 84rpx; border-radius: 18rpx; background: #ffffff; display: flex; align-items: center; justify-content: center; position: relative; transition: var(--transition-smooth); box-sizing: border-box; overflow: hidden; border: 2rpx solid transparent; } .calendar-cell.level-0.data-v-5a4b0d9c { background: #ffffff; border-color: var(--slate-100); } .calendar-cell.off.data-v-5a4b0d9c { background: transparent; opacity: 0.4; } .calendar-cell.level-1.data-v-5a4b0d9c { background: var(--primary-light); border-color: rgba(13, 148, 136, 0.15); } .calendar-cell.level-1 .calendar-cell-day.data-v-5a4b0d9c { color: var(--primary); } .calendar-cell.level-2.data-v-5a4b0d9c { background: #ccfbf1; border-color: #99f6e4; } .calendar-cell.level-2 .calendar-cell-day.data-v-5a4b0d9c { color: #0f766e; } .calendar-cell.level-3.data-v-5a4b0d9c { background: var(--primary-grad); box-shadow: 0 4rpx 12rpx rgba(13, 148, 136, 0.2); } .calendar-cell.level-3 .calendar-cell-day.data-v-5a4b0d9c { color: #ffffff; } .calendar-cell.today.data-v-5a4b0d9c { background: linear-gradient(135deg, #f97316 0%, #ea580c 100%) !important; border: 4rpx solid #ffffff; box-shadow: 0 0 0 3rpx #ea580c, 0 6rpx 16rpx rgba(234, 88, 12, 0.35); } .calendar-cell.today .calendar-cell-day.data-v-5a4b0d9c { color: #ffffff; } .calendar-cell.clickable.data-v-5a4b0d9c:active { transform: scale(0.94); } .calendar-cell-day.data-v-5a4b0d9c { font-size: 32rpx; color: var(--slate-900); font-weight: 700; line-height: 1; } .calendar-cell.today .calendar-cell-day.data-v-5a4b0d9c { color: #ffffff; font-weight: 800; transform: translateY(-6rpx); } .calendar-cell.off .calendar-cell-day.data-v-5a4b0d9c { color: var(--slate-400); font-weight: 500; } .calendar-cell-mark.data-v-5a4b0d9c { position: absolute; right: 8rpx; bottom: 8rpx; width: 10rpx; height: 10rpx; border-radius: var(--radius-pill); background: rgba(255, 255, 255, 0.85); box-shadow: 0 0 0 2rpx rgba(15, 23, 42, 0.08); } .calendar-cell.level-1 .calendar-cell-mark.data-v-5a4b0d9c { background: #386641; box-shadow: none; } .calendar-cell.today .calendar-cell-mark.data-v-5a4b0d9c { display: none; } .calendar-cell-today-tag.data-v-5a4b0d9c { position: absolute; left: 0; right: 0; bottom: 0; background: rgba(220, 38, 38, 0.92); color: #ffffff; font-size: 18rpx; font-weight: 700; padding: 3rpx 0; text-align: center; line-height: 1.2; letter-spacing: 2rpx; } .calendar-legend.data-v-5a4b0d9c { margin-top: 18rpx; padding: 14rpx 6rpx 4rpx; } .calendar-legend-row.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: space-around; gap: 8rpx; } .calendar-legend-item.data-v-5a4b0d9c { display: flex; align-items: center; gap: 8rpx; } .calendar-legend-cell.data-v-5a4b0d9c { width: 28rpx; height: 28rpx; border-radius: 8rpx; background: var(--slate-100); border: 1rpx solid var(--slate-200); } .calendar-legend-cell.level-1.data-v-5a4b0d9c { background: #ccfbf1; border-color: #99f6e4; } .calendar-legend-cell.level-2.data-v-5a4b0d9c { background: linear-gradient(135deg, #cfe8d3 0%, #afe2b3 100%); border-color: #386641; } .calendar-legend-cell.level-3.data-v-5a4b0d9c { background: var(--primary-grad); border-color: transparent; } .calendar-legend-cell.legend-today.data-v-5a4b0d9c { background: linear-gradient(135deg, #f97316 0%, #ea580c 100%); border: 2rpx solid #ffffff; box-shadow: 0 0 0 2rpx #ea580c; } .calendar-legend-text.data-v-5a4b0d9c { font-size: 24rpx; color: var(--slate-600); font-weight: 600; } .heatmap-foot.data-v-5a4b0d9c { margin-top: 22rpx; padding-top: 18rpx; border-top: 1rpx dashed var(--slate-200); display: flex; align-items: center; justify-content: space-between; gap: 12rpx; } .heatmap-foot-text.data-v-5a4b0d9c { font-size: 28rpx; color: #334155; font-weight: 600; } .heatmap-foot-cta.data-v-5a4b0d9c { background: var(--primary-grad); color: #ffffff; font-size: 28rpx; font-weight: 700; padding: 18rpx 30rpx; border-radius: var(--radius-pill); box-shadow: var(--shadow-glow-primary); min-height: 76rpx; display: flex; align-items: center; transition: var(--transition-smooth); } .heatmap-foot-cta.data-v-5a4b0d9c:active { transform: scale(0.96); } /* === 弹窗表单(bottom sheet)=== */ .input-modal-mask.data-v-5a4b0d9c { position: fixed; inset: 0; background: rgba(15, 23, 42, 0.45); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); z-index: 999; display: flex; align-items: flex-end; justify-content: center; animation: input-modal-mask-in-5a4b0d9c 0.38s cubic-bezier(0.22, 1, 0.36, 1) both; } .input-modal.data-v-5a4b0d9c { width: 100%; max-width: 750rpx; background: #ffffff; border-radius: 36rpx 36rpx 0 0; padding: 16rpx 0 0; box-shadow: 0 -12rpx 36rpx rgba(15, 23, 42, 0.12); max-height: 88vh; display: flex; flex-direction: column; animation: input-modal-rise-5a4b0d9c 0.46s cubic-bezier(0.22, 1, 0.36, 1) both; position: relative; z-index: 1000; will-change: transform, opacity; overflow: hidden; } @keyframes input-modal-mask-in-5a4b0d9c { from { opacity: 0; } to { opacity: 1; } } @keyframes input-modal-rise-5a4b0d9c { from { transform: translate3d(0, 100%, 0); opacity: 0.96; } to { transform: translate3d(0, 0, 0); opacity: 1; } } @keyframes input-modal-content-in-5a4b0d9c { from { opacity: 0; transform: translate3d(0, 24rpx, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } } .input-modal-grip.data-v-5a4b0d9c { width: 80rpx; height: 6rpx; border-radius: var(--radius-pill); background: var(--slate-200); margin: 0 auto 8rpx; } .input-modal-head.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: space-between; padding: 12rpx 32rpx 16rpx; border-bottom: 1rpx solid var(--slate-100); } .input-modal-title-wrap.data-v-5a4b0d9c { display: flex; flex-direction: column; gap: 4rpx; } .input-modal-title.data-v-5a4b0d9c { font-size: 40rpx; font-weight: 800; color: var(--slate-900); letter-spacing: 0.5rpx; } .input-modal-sub.data-v-5a4b0d9c { font-size: 26rpx; color: var(--slate-600); margin-top: 4rpx; } .input-modal-close.data-v-5a4b0d9c { width: 80rpx; height: 80rpx; display: flex; align-items: center; justify-content: center; border-radius: var(--radius-pill); background: var(--slate-100); transition: var(--transition-smooth); } .input-modal-close.data-v-5a4b0d9c:active { background: var(--slate-200); } .input-modal-close-icon.data-v-5a4b0d9c { font-size: 42rpx; color: var(--slate-600); line-height: 1; font-weight: 700; } .input-modal-loading.data-v-5a4b0d9c { min-height: 520rpx; padding: 120rpx 0; text-align: center; color: var(--slate-600); font-size: 30rpx; display: flex; align-items: center; justify-content: center; } .input-modal-body.data-v-5a4b0d9c { flex: none; height: 50vh; max-height: 50vh; padding: 20rpx 32rpx 28rpx; box-sizing: border-box; width: 100%; } .input-modal-body-ready.data-v-5a4b0d9c { animation: input-modal-content-in-5a4b0d9c 0.34s cubic-bezier(0.22, 1, 0.36, 1) both; } .input-modal-tip.data-v-5a4b0d9c { background: var(--primary-light); border: 1rpx dashed #99f6e4; border-radius: 14rpx; padding: 18rpx 20rpx; font-size: 26rpx; color: #0f766e; line-height: 1.5; margin-bottom: 22rpx; } /* === 语音录入区(血糖弹窗) === */ .voice-entry-section.data-v-5a4b0d9c { margin-bottom: 24rpx; padding: 22rpx 20rpx 20rpx; border-radius: 22rpx; background: #f8fafc; border: 1rpx solid #e2e8f0; } .voice-entry-head.data-v-5a4b0d9c { display: flex; flex-direction: column; gap: 6rpx; margin-bottom: 18rpx; } .voice-entry-title.data-v-5a4b0d9c { font-size: 28rpx; font-weight: 700; color: #334155; letter-spacing: 1rpx; } .voice-entry-desc.data-v-5a4b0d9c { font-size: 24rpx; color: #64748b; line-height: 1.45; } .voice-entry-or.data-v-5a4b0d9c { display: flex; align-items: center; gap: 16rpx; margin: 16rpx 0; } .voice-entry-or-line.data-v-5a4b0d9c { flex: 1; height: 1rpx; background: #e2e8f0; } .voice-entry-or-text.data-v-5a4b0d9c { font-size: 22rpx; color: #94a3b8; flex-shrink: 0; } /* === 语音录入条 === */ .voice-input-bar.data-v-5a4b0d9c { display: flex; align-items: center; gap: 18rpx; padding: 20rpx 24rpx; margin-bottom: 22rpx; border-radius: 18rpx; background: linear-gradient(135deg, #ecfdf5, #d1fae5); border: 2rpx solid #a7f3d0; transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, opacity 0.18s ease; position: relative; } .voice-input-bar.data-v-5a4b0d9c:active { transform: scale(0.985); } .voice-input-bar.active.data-v-5a4b0d9c { background: linear-gradient(135deg, #006c49, #0d9488); border-color: #006c49; box-shadow: 0 10rpx 28rpx rgba(0, 108, 73, 0.3); } .voice-input-bar.active .voice-input-icon.data-v-5a4b0d9c { background: rgba(255, 255, 255, 0.22); } .voice-input-bar.active .voice-input-title.data-v-5a4b0d9c { color: #ffffff; } .voice-input-bar.active .voice-input-hint.data-v-5a4b0d9c { color: rgba(255, 255, 255, 0.88); } .voice-input-bar.active .voice-input-badge.data-v-5a4b0d9c { background: rgba(255, 255, 255, 0.22); color: #ffffff; } .voice-input-bar.active .voice-input-accent.data-v-5a4b0d9c { background: rgba(255, 255, 255, 0.35); } .voice-input-bar.muted.data-v-5a4b0d9c { opacity: 0.55; } .voice-entry-section .voice-input-bar.data-v-5a4b0d9c { margin-bottom: 0; overflow: hidden; } .voice-input-bar--primary.data-v-5a4b0d9c { min-height: 112rpx; padding: 36rpx 20rpx 22rpx 28rpx; box-shadow: 0 6rpx 20rpx rgba(0, 108, 73, 0.08); align-items: center; } .voice-input-bar--primary .voice-input-icon.data-v-5a4b0d9c, .voice-input-bar--primary .voice-input-text.data-v-5a4b0d9c, .voice-input-bar--primary .voice-input-hold-pill.data-v-5a4b0d9c { position: relative; z-index: 2; } .voice-input-accent.data-v-5a4b0d9c { position: absolute; left: 0; top: 0; bottom: 0; width: 6rpx; background: #006c49; z-index: 1; } .voice-input-badge.data-v-5a4b0d9c { position: absolute; top: 0; right: 0; z-index: 2; padding: 6rpx 16rpx; border-radius: 0 16rpx 0 14rpx; background: #006c49; color: #ffffff; font-size: 20rpx; font-weight: 700; letter-spacing: 1rpx; line-height: 1.2; } .voice-input-hold-pill.data-v-5a4b0d9c { flex-shrink: 0; padding: 14rpx 22rpx; border-radius: 999rpx; background: #ffffff; border: 2rpx solid #a7f3d0; box-shadow: 0 4rpx 12rpx rgba(0, 108, 73, 0.08); } .voice-input-hold-pill text.data-v-5a4b0d9c { font-size: 24rpx; font-weight: 700; color: #006c49; white-space: nowrap; } .voice-input-icon.data-v-5a4b0d9c { width: 72rpx; height: 72rpx; border-radius: 50%; background: #ffffff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 4rpx 12rpx rgba(0, 108, 73, 0.12); overflow: visible; } .voice-input-text.data-v-5a4b0d9c { display: flex; flex-direction: column; gap: 4rpx; flex: 1; min-width: 0; } .voice-input-title.data-v-5a4b0d9c { font-size: 30rpx; font-weight: 700; color: #134e4a; letter-spacing: 0.5rpx; } .voice-input-hint.data-v-5a4b0d9c { font-size: 24rpx; color: #475569; line-height: 1.4; } @keyframes voice-icon-pulse-5a4b0d9c { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.12); } } /* === 语音录音浮层 === */ .voice-rec-overlay.data-v-5a4b0d9c { position: fixed; left: 0; right: 0; top: 0; bottom: 0; z-index: 12000; display: flex; align-items: center; justify-content: center; background: rgba(15, 23, 42, 0.45); } .voice-rec-card.data-v-5a4b0d9c { display: flex; flex-direction: column; align-items: center; gap: 18rpx; padding: 56rpx 64rpx; border-radius: 28rpx; background: rgba(0, 108, 73, 0.94); box-shadow: 0 20rpx 60rpx rgba(0, 0, 0, 0.3); } .voice-rec-icon.data-v-5a4b0d9c { width: 132rpx; height: 132rpx; border-radius: 50%; background: rgba(255, 255, 255, 0.18); display: flex; align-items: center; justify-content: center; } .voice-rec-icon.active.data-v-5a4b0d9c { animation: voice-rec-wave-5a4b0d9c 1.1s ease-in-out infinite; } .voice-rec-title.data-v-5a4b0d9c { font-size: 34rpx; font-weight: 700; color: #ffffff; letter-spacing: 2rpx; } .voice-rec-sub.data-v-5a4b0d9c { font-size: 26rpx; color: rgba(255, 255, 255, 0.8); } @keyframes voice-rec-wave-5a4b0d9c { 0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4); } 50% { transform: scale(1.06); box-shadow: 0 0 0 24rpx rgba(255, 255, 255, 0); } } /* === 语音一问一答面板 === */ .voice-dialog.data-v-5a4b0d9c { margin-bottom: 22rpx; border-radius: 20rpx; background: linear-gradient(135deg, #f0fdf4, #ecfeff); border: 2rpx solid #bbf7d0; overflow: hidden; } .voice-dialog.active.data-v-5a4b0d9c { border-color: #006c49; box-shadow: 0 10rpx 28rpx rgba(0, 108, 73, 0.16); } .voice-entry-section .voice-dialog.data-v-5a4b0d9c { margin-bottom: 0; } .voice-dialog--secondary.data-v-5a4b0d9c { background: #ffffff; border: 2rpx solid #e2e8f0; } .voice-dialog--secondary.active.data-v-5a4b0d9c { background: linear-gradient(180deg, #f0fdf4 0%, #ffffff 100%); border-color: #006c49; } .voice-dialog--secondary .voice-dialog-orb.data-v-5a4b0d9c { background: #ecfdf5; border: 2rpx solid #a7f3d0; } .voice-dialog--secondary .voice-dialog-orb.speaking.data-v-5a4b0d9c { background: #0d9488; border-color: #0d9488; } .voice-dialog--secondary .voice-dialog-orb.listening.data-v-5a4b0d9c { background: #006c49; border-color: #006c49; } .voice-dialog--secondary .voice-dialog-start.data-v-5a4b0d9c { background: #ffffff; color: #006c49; border: 2rpx solid #006c49; } .voice-dialog-title-row.data-v-5a4b0d9c { display: flex; align-items: center; gap: 10rpx; flex-wrap: wrap; } .voice-dialog-tag.data-v-5a4b0d9c { padding: 2rpx 12rpx; border-radius: 999rpx; font-size: 20rpx; font-weight: 600; color: #64748b; background: #f1f5f9; border: 1rpx solid #e2e8f0; } .voice-dialog-head.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: space-between; padding: 20rpx 24rpx; gap: 16rpx; } .voice-dialog-title-wrap.data-v-5a4b0d9c { display: flex; align-items: center; gap: 16rpx; flex: 1; min-width: 0; } .voice-dialog-orb.data-v-5a4b0d9c { width: 64rpx; height: 64rpx; border-radius: 50%; background: #0d9488; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .voice-dialog-orb.speaking.data-v-5a4b0d9c { animation: voice-icon-pulse-5a4b0d9c 1.3s ease-in-out infinite; } .voice-dialog-orb.listening.data-v-5a4b0d9c { background: #006c49; animation: voice-rec-wave-5a4b0d9c 1.1s ease-in-out infinite; } .voice-dialog-title-text.data-v-5a4b0d9c { display: flex; flex-direction: column; gap: 4rpx; min-width: 0; } .voice-dialog-title.data-v-5a4b0d9c { font-size: 30rpx; font-weight: 700; color: #134e4a; letter-spacing: 0.5rpx; } .voice-dialog-tip.data-v-5a4b0d9c { font-size: 23rpx; color: #64748b; line-height: 1.45; } .voice-dialog-start.data-v-5a4b0d9c, .voice-dialog-stop.data-v-5a4b0d9c { flex-shrink: 0; min-height: 64rpx; padding: 0 28rpx; border-radius: 999rpx; font-size: 26rpx; font-weight: 700; display: flex; align-items: center; justify-content: center; } .voice-dialog-start.data-v-5a4b0d9c:active, .voice-dialog-stop.data-v-5a4b0d9c:active { transform: scale(0.97); } .voice-dialog-stop.data-v-5a4b0d9c { background: #f1f5f9; color: #475569; border: 2rpx solid #e2e8f0; } .voice-dialog-body.data-v-5a4b0d9c { padding: 0 24rpx 22rpx; display: flex; flex-direction: column; gap: 14rpx; border-top: 1rpx solid #e2e8f0; margin-top: 4rpx; padding-top: 18rpx; } .voice-dialog-hold-pad.data-v-5a4b0d9c { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12rpx; min-height: 168rpx; padding: 28rpx 24rpx; border-radius: 18rpx; background: linear-gradient(135deg, #ecfdf5, #d1fae5); border: 2rpx solid #a7f3d0; transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease; } .voice-dialog-hold-pad.data-v-5a4b0d9c:active, .voice-dialog-hold-pad.active.data-v-5a4b0d9c { background: linear-gradient(135deg, #006c49, #0d9488); border-color: #006c49; box-shadow: 0 10rpx 28rpx rgba(0, 108, 73, 0.24); } .voice-dialog-hold-pad:active .voice-dialog-hold-title.data-v-5a4b0d9c, .voice-dialog-hold-pad:active .voice-dialog-hold-heard.data-v-5a4b0d9c, .voice-dialog-hold-pad.active .voice-dialog-hold-title.data-v-5a4b0d9c, .voice-dialog-hold-pad.active .voice-dialog-hold-heard.data-v-5a4b0d9c { color: #ffffff; } .voice-dialog-hold-pad:active .voice-dialog-hold-icon.data-v-5a4b0d9c, .voice-dialog-hold-pad.active .voice-dialog-hold-icon.data-v-5a4b0d9c { background: rgba(255, 255, 255, 0.22); } .voice-dialog-hold-icon.data-v-5a4b0d9c { width: 80rpx; height: 80rpx; border-radius: 50%; background: #ffffff; display: flex; align-items: center; justify-content: center; box-shadow: 0 4rpx 12rpx rgba(0, 108, 73, 0.12); } .voice-dialog-hold-title.data-v-5a4b0d9c { font-size: 28rpx; font-weight: 700; color: #134e4a; letter-spacing: 0.5rpx; } .voice-dialog-hold-heard.data-v-5a4b0d9c { font-size: 24rpx; color: #475569; max-width: 100%; text-align: center; line-height: 1.4; } .voice-dialog-bubble.data-v-5a4b0d9c { max-width: 86%; padding: 16rpx 20rpx; border-radius: 18rpx; font-size: 28rpx; line-height: 1.5; } .voice-dialog-bubble.bot.data-v-5a4b0d9c { align-self: flex-start; background: #ffffff; color: #1f2937; border: 2rpx solid #d1fae5; border-bottom-left-radius: 6rpx; } .voice-dialog-bubble.user.data-v-5a4b0d9c { align-self: flex-end; background: #006c49; color: #ffffff; border-bottom-right-radius: 6rpx; } .voice-dialog-status.data-v-5a4b0d9c { display: flex; align-items: center; gap: 14rpx; min-height: 36rpx; } .voice-dialog-status-text.data-v-5a4b0d9c { font-size: 24rpx; color: #475569; } .voice-dialog-wave.data-v-5a4b0d9c { display: flex; align-items: flex-end; gap: 6rpx; height: 32rpx; } .voice-dialog-wave-bar.data-v-5a4b0d9c { width: 6rpx; border-radius: 4rpx; background: #006c49; animation: voice-dialog-wave-jump-5a4b0d9c 0.9s ease-in-out infinite; } .voice-dialog-wave-bar.data-v-5a4b0d9c:nth-child(1) { height: 14rpx; animation-delay: 0s; } .voice-dialog-wave-bar.data-v-5a4b0d9c:nth-child(2) { height: 26rpx; animation-delay: 0.15s; } .voice-dialog-wave-bar.data-v-5a4b0d9c:nth-child(3) { height: 20rpx; animation-delay: 0.3s; } .voice-dialog-wave-bar.data-v-5a4b0d9c:nth-child(4) { height: 30rpx; animation-delay: 0.45s; } @keyframes voice-dialog-wave-jump-5a4b0d9c { 0%, 100% { transform: scaleY(0.5); } 50% { transform: scaleY(1); } } .voice-dialog-actions.data-v-5a4b0d9c { display: flex; gap: 14rpx; margin-top: 4rpx; } .voice-dialog-btn.data-v-5a4b0d9c { flex: 1; text-align: center; padding: 16rpx 0; border-radius: 14rpx; font-size: 26rpx; font-weight: 600; color: #006c49; background: rgba(0, 108, 73, 0.08); } .voice-dialog-btn.data-v-5a4b0d9c:active { transform: scale(0.98); } .voice-dialog-btn.primary.data-v-5a4b0d9c { color: #ffffff; background: #006c49; } .input-section-title.data-v-5a4b0d9c { font-size: 28rpx; font-weight: 700; color: #334155; letter-spacing: 1rpx; margin: 18rpx 0 14rpx; } .intensity-row.data-v-5a4b0d9c { display: flex; gap: 12rpx; margin-bottom: 16rpx; } .intensity-chip.data-v-5a4b0d9c { flex: 1; text-align: center; padding: 16rpx 8rpx; border-radius: 14rpx; background: var(--slate-50); border: 2rpx solid var(--slate-200); font-size: 26rpx; color: var(--slate-600); transition: var(--transition-smooth); } .intensity-chip.active.data-v-5a4b0d9c { background: var(--success-light); border-color: var(--success); color: #047857; font-weight: 700; } .input-field.data-v-5a4b0d9c { display: flex; align-items: center; gap: 18rpx; padding: 14rpx 0; border-bottom: 1rpx solid var(--slate-100); min-width: 0; width: 100%; box-sizing: border-box; min-height: 88rpx; } .input-field-label.data-v-5a4b0d9c { display: flex; align-items: center; gap: 10rpx; flex: 0 0 auto; width: 180rpx; font-size: 30rpx; color: var(--slate-900); font-weight: 700; } .input-field-dot.data-v-5a4b0d9c { width: 14rpx; height: 14rpx; border-radius: var(--radius-pill); background: var(--slate-400); flex-shrink: 0; } .input-field-dot-fasting.data-v-5a4b0d9c { background: var(--primary); } .input-field-dot-postprandial.data-v-5a4b0d9c { background: var(--warning); } .input-field-dot-other.data-v-5a4b0d9c { background: var(--violet); } .input-field-input.data-v-5a4b0d9c { flex: 1 1 0; min-width: 0; background: var(--slate-50); border-radius: 16rpx; padding: 18rpx 20rpx; box-sizing: border-box; overflow: hidden; min-height: 76rpx; display: flex; align-items: center; border: 2rpx solid transparent; transition: var(--transition-smooth); } .input-field-input.data-v-5a4b0d9c:focus-within { border-color: var(--primary); background: #ffffff; box-shadow: 0 0 0 4rpx var(--primary-glow); } .input-field-input input.data-v-5a4b0d9c { width: 100%; min-width: 0; font-size: 34rpx; color: var(--slate-900); text-align: right; box-sizing: border-box; font-weight: 600; } .input-placeholder.data-v-5a4b0d9c { color: var(--slate-400); font-size: 28rpx; } .input-field-row.data-v-5a4b0d9c { display: flex; gap: 18rpx; min-width: 0; width: 100%; box-sizing: border-box; } .input-field-half.data-v-5a4b0d9c { flex: 1 1 0; min-width: 0; border-bottom: 1rpx solid var(--slate-100); } .input-field-half .input-field-label.data-v-5a4b0d9c { width: 80rpx; flex: 0 0 auto; } .input-field-row .input-field-input.data-v-5a4b0d9c { padding: 16rpx 16rpx; } .input-field-row .input-field-input input.data-v-5a4b0d9c { font-size: 32rpx; } .input-field-textarea.data-v-5a4b0d9c { flex-direction: column; align-items: stretch; border-bottom: none; padding: 10rpx 0 0; } .input-field-textarea textarea.data-v-5a4b0d9c { width: 100%; min-height: 140rpx; background: var(--slate-50); border-radius: 14rpx; padding: 20rpx 22rpx; font-size: 30rpx; color: var(--slate-900); box-sizing: border-box; line-height: 1.6; border: 2rpx solid transparent; transition: var(--transition-smooth); } .input-field-textarea textarea.data-v-5a4b0d9c:focus { border-color: var(--primary); background: #ffffff; box-shadow: 0 0 0 4rpx var(--primary-glow); } .input-modal-actions.data-v-5a4b0d9c { display: flex; gap: 18rpx; flex-shrink: 0; padding: 20rpx 32rpx calc(20rpx + env(safe-area-inset-bottom)); border-top: 1rpx solid #eef6ee; background: #ffffff; } .input-modal-btn.data-v-5a4b0d9c { flex: 1; height: 100rpx; border-radius: 20rpx; display: flex; align-items: center; justify-content: center; font-size: 32rpx; font-weight: 700; letter-spacing: 2rpx; transition: opacity 0.2s ease, transform 0.2s ease; } .input-modal-btn.primary.data-v-5a4b0d9c { background: #006c49; color: #ffffff; box-shadow: 0 8rpx 24rpx rgba(0, 108, 73, 0.25); } .input-modal-btn.primary.data-v-5a4b0d9c:active { transform: translateY(1rpx); opacity: 0.92; } .input-modal-btn.danger.data-v-5a4b0d9c { flex: 0 0 180rpx; background: var(--danger-light); color: var(--danger); border: 1rpx solid rgba(239, 68, 68, 0.2); } .input-modal-btn.danger.data-v-5a4b0d9c:active { background: #ffe4e6; } .input-modal-btn.disabled.data-v-5a4b0d9c { opacity: 0.5; pointer-events: none; } /* === 稳糖乐园 === */ .pg-card.data-v-5a4b0d9c { margin: 28rpx 24rpx 0; background: #ffffff; border-radius: 32rpx; padding: 30rpx 28rpx; box-shadow: var(--shadow-premium); border: var(--border-premium); animation: card-rise-5a4b0d9c 0.45s ease-out 0.08s both; } .pg-card .card-head.data-v-5a4b0d9c { display: flex; justify-content: space-between; align-items: center; border-bottom: 1rpx solid var(--slate-100); padding-bottom: 20rpx; } .pg-card .pg-points-badge.data-v-5a4b0d9c { display: flex; flex-direction: column; align-items: flex-end; background: linear-gradient(135deg, #eef6ef 0%, #ccfbf1 100%); border-left: 6rpx solid var(--primary); padding: 8rpx 18rpx 8rpx 20rpx; border-radius: 16rpx; } .pg-card .pg-points-badge .pg-points-num.data-v-5a4b0d9c { font-size: 38rpx; font-weight: 800; color: #386641; line-height: 1.1; } .pg-card .pg-points-badge .pg-points-label.data-v-5a4b0d9c { font-size: 20rpx; color: #0f766e; font-weight: 600; } .pg-content-stack.data-v-5a4b0d9c { display: flex; flex-direction: column; gap: 28rpx; margin-top: 24rpx; } .record-quick-zone.data-v-5a4b0d9c { display: flex; flex-direction: column; gap: 16rpx; } .record-quick-head.data-v-5a4b0d9c { display: flex; flex-direction: column; gap: 4rpx; padding-left: 6rpx; } .record-quick-title.data-v-5a4b0d9c { font-size: 28rpx; font-weight: 800; color: #334155; } .record-quick-hint.data-v-5a4b0d9c { font-size: 22rpx; color: var(--slate-600); font-weight: 600; } .record-quick-row.data-v-5a4b0d9c { display: flex; gap: 12rpx; } .record-quick-chip.data-v-5a4b0d9c { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 8rpx; padding: 24rpx 12rpx; background: #ffffff; border: 1rpx solid var(--slate-200); border-radius: 24rpx; box-shadow: 0 4rpx 12rpx rgba(15, 23, 42, 0.02); transition: var(--transition-smooth); } .record-quick-chip.data-v-5a4b0d9c:active { transform: scale(0.98); } .record-quick-chip.pending.data-v-5a4b0d9c { border-color: rgba(13, 148, 136, 0.2); background: linear-gradient(180deg, var(--primary-light) 0%, #ffffff 100%); } .record-quick-chip.done.data-v-5a4b0d9c { border-color: rgba(16, 185, 129, 0.2); background: linear-gradient(180deg, var(--success-light) 0%, #ffffff 100%); } .record-quick-icon-wrap.data-v-5a4b0d9c { width: 56rpx; height: 56rpx; border-radius: var(--radius-pill); background: var(--slate-50); display: flex; align-items: center; justify-content: center; } .record-quick-chip.pending .record-quick-icon-wrap.data-v-5a4b0d9c { background: #ccfbf1; } .record-quick-chip.done .record-quick-icon-wrap.data-v-5a4b0d9c { background: #dcfce7; } .record-quick-label.data-v-5a4b0d9c { font-size: 26rpx; font-weight: 800; color: var(--slate-900); } .record-quick-status.data-v-5a4b0d9c { font-size: 22rpx; font-weight: 700; color: #386641; } .record-quick-chip.done .record-quick-status.data-v-5a4b0d9c { color: var(--success); } .tree-growth-zone.data-v-5a4b0d9c { display: flex; align-items: flex-start; gap: 20rpx; background: linear-gradient(145deg, #eef6ef 0%, #f8fafc 55%, #fffbeb 100%); border-radius: 24rpx; padding: 24rpx 20rpx; border: 2rpx solid #99f6e4; } .tree-graphic-wrap.data-v-5a4b0d9c { position: relative; flex-shrink: 0; width: 152rpx; min-height: 200rpx; display: flex; flex-direction: column; align-items: center; justify-content: center; } .tree-lv-badge.data-v-5a4b0d9c { position: absolute; top: 0; left: 50%; transform: translateX(-50%); z-index: 2; padding: 4rpx 14rpx; border-radius: 999rpx; background: linear-gradient(135deg, #204e2b, #386641); color: #ffffff; font-size: 20rpx; font-weight: 800; box-shadow: 0 4rpx 12rpx rgba(32, 78, 43, 0.35); } .tree-mood-pill.data-v-5a4b0d9c { position: absolute; top: 36rpx; right: -8rpx; z-index: 2; display: flex; align-items: center; gap: 4rpx; padding: 4rpx 10rpx; border-radius: 999rpx; background: rgba(255, 255, 255, 0.92); border: 1rpx solid #e2e8f0; box-shadow: 0 2rpx 8rpx rgba(15, 23, 42, 0.08); } .tree-mood-emoji.data-v-5a4b0d9c { font-size: 22rpx; line-height: 1; } .tree-mood-text.data-v-5a4b0d9c { font-size: 20rpx; font-weight: 700; color: #64748b; } .tree-next-hint.data-v-5a4b0d9c { display: block; margin-top: 8rpx; font-size: 22rpx; color: #0f766e; font-weight: 600; line-height: 1.45; } .tree-roadmap-scroll.data-v-5a4b0d9c { width: 100%; margin-top: 14rpx; white-space: nowrap; } .tree-roadmap-row.data-v-5a4b0d9c { display: inline-flex; gap: 10rpx; padding-bottom: 4rpx; } .tree-roadmap-node.data-v-5a4b0d9c { display: inline-flex; flex-direction: column; align-items: center; gap: 4rpx; min-width: 56rpx; padding: 8rpx 6rpx; border-radius: 14rpx; background: #faf9f5; border: 1rpx solid #e2e8f0; opacity: 0.55; } .tree-roadmap-node.done.data-v-5a4b0d9c { opacity: 0.85; background: #ecfdf5; border-color: #a7f3d0; } .tree-roadmap-node.current.data-v-5a4b0d9c { opacity: 1; background: linear-gradient(180deg, #ccfbf1, #ffffff); border-color: #386641; box-shadow: 0 4rpx 14rpx rgba(32, 78, 43, 0.25); transform: scale(1.06); } .tree-roadmap-node.locked.data-v-5a4b0d9c { opacity: 0.4; } .tree-roadmap-emoji.data-v-5a4b0d9c { font-size: 26rpx; line-height: 1; } .tree-roadmap-lv.data-v-5a4b0d9c { font-size: 18rpx; font-weight: 700; color: #64748b; } .tree-roadmap-node.current .tree-roadmap-lv.data-v-5a4b0d9c { color: #0f766e; } .tree-tappable.data-v-5a4b0d9c:active { opacity: 0.92; } .tree-tap-hint.data-v-5a4b0d9c, .invite-tree-tap-hint.data-v-5a4b0d9c { margin-top: 4rpx; font-size: 20rpx; color: var(--slate-600); font-weight: 600; } .invite-tree-tappable.data-v-5a4b0d9c { display: flex; flex-direction: column; align-items: center; } .float-reward.data-v-5a4b0d9c { position: absolute; top: 8rpx; right: 0; z-index: 3; animation: float-reward-rise-5a4b0d9c 1.1s ease-out forwards; } .float-reward text.data-v-5a4b0d9c { font-size: 32rpx; font-weight: 800; color: var(--success); text-shadow: 0 2rpx 8rpx rgba(5, 150, 105, 0.25); } @keyframes float-reward-rise-5a4b0d9c { 0% { opacity: 1; transform: translateY(0) scale(0.8); } 100% { opacity: 0; transform: translateY(-56rpx) scale(1.15); } } .mission-complete-banner.data-v-5a4b0d9c { display: flex; align-items: center; gap: 16rpx; margin-bottom: 20rpx; padding: 18rpx 20rpx; background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%); border: 2rpx solid #fde68a; border-radius: 20rpx; animation: mission-glow-5a4b0d9c 2s ease-in-out infinite; } @keyframes mission-glow-5a4b0d9c { 0%, 100% { box-shadow: 0 0 0 rgba(251, 191, 36, 0); } 50% { box-shadow: 0 0 20rpx rgba(251, 191, 36, 0.35); } } .mission-complete-title.data-v-5a4b0d9c { display: block; font-size: 28rpx; font-weight: 800; color: #92400e; } .mission-complete-sub.data-v-5a4b0d9c { display: block; margin-top: 4rpx; font-size: 24rpx; color: #b45309; } .badge-wall.data-v-5a4b0d9c { margin-top: 12rpx; } .badge-wall-title.data-v-5a4b0d9c { display: block; font-size: 32rpx; font-weight: 800; color: #475569; margin-bottom: 16rpx; padding-left: 6rpx; } .badge-wall-scroll.data-v-5a4b0d9c { width: 100%; white-space: nowrap; } .badge-wall-row.data-v-5a4b0d9c { display: inline-flex; gap: 14rpx; padding-bottom: 8rpx; } .badge-chip.data-v-5a4b0d9c { display: inline-flex; flex-direction: column; align-items: center; gap: 10rpx; min-width: 140rpx; padding: 18rpx 20rpx; background: #ffffff; border: 1rpx solid var(--slate-200); border-radius: 18rpx; box-shadow: var(--shadow-sm); } .badge-chip-icon.data-v-5a4b0d9c { width: 58rpx; height: 58rpx; border-radius: var(--radius-pill); background: var(--slate-50); display: flex; align-items: center; justify-content: center; } .badge-chip-label.data-v-5a4b0d9c { font-size: 28rpx; font-weight: 700; color: #334155; white-space: nowrap; } .tree-progress-wrap.data-v-5a4b0d9c { flex: 1; display: flex; flex-direction: column; gap: 10rpx; min-width: 0; } .tree-level-info.data-v-5a4b0d9c { display: flex; justify-content: space-between; align-items: center; gap: 12rpx; } .tree-level-tag.data-v-5a4b0d9c { font-size: 30rpx; font-weight: 700; color: var(--slate-900); background: var(--slate-200); padding: 6rpx 18rpx; border-radius: var(--radius-pill); } .tree-progress-text.data-v-5a4b0d9c { font-size: 28rpx; color: var(--slate-600); font-weight: 600; } .tree-progress-track.data-v-5a4b0d9c { height: 16rpx; background: var(--slate-200); border-radius: var(--radius-pill); overflow: hidden; } .tree-progress-bar.data-v-5a4b0d9c { height: 100%; background: var(--primary-grad); border-radius: var(--radius-pill); transition: width 0.4s ease; } .tree-water-action.data-v-5a4b0d9c { margin-top: 6rpx; display: flex; flex-direction: column; gap: 8rpx; } .water-hint.data-v-5a4b0d9c { font-size: 22rpx; color: var(--slate-600); font-weight: 600; text-align: center; line-height: 1.4; } .water-btn.data-v-5a4b0d9c { width: 100%; height: 76rpx; background: var(--primary-grad); color: #ffffff; border-radius: var(--radius-pill); font-size: 28rpx; font-weight: 700; display: flex; align-items: center; justify-content: center; gap: 10rpx; border: none; box-shadow: var(--shadow-glow-primary); transition: var(--transition-smooth); } .water-btn.data-v-5a4b0d9c:active { transform: scale(0.98); background: linear-gradient(135deg, #386641 0%, var(--primary) 100%); } .water-btn.disabled.data-v-5a4b0d9c { opacity: 0.7; pointer-events: none; } .water-btn.pulse.data-v-5a4b0d9c { animation: water-btn-pulse-5a4b0d9c 1.6s ease-in-out infinite; } @keyframes water-btn-pulse-5a4b0d9c { 0%, 100% { box-shadow: var(--shadow-glow-primary); } 50% { box-shadow: 0 4rpx 24rpx rgba(32, 78, 43, 0.5); } } .today-tasks-zone.data-v-5a4b0d9c { display: flex; flex-direction: column; gap: 14rpx; } .tasks-zone-title.data-v-5a4b0d9c { font-size: 28rpx; font-weight: 800; color: #334155; letter-spacing: 0.5rpx; padding-left: 6rpx; } .tasks-list.data-v-5a4b0d9c { display: flex; flex-direction: column; gap: 12rpx; } .task-row-item.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: space-between; background: var(--slate-50); border: 1rpx solid var(--slate-200); border-radius: 20rpx; padding: 20rpx 24rpx; min-height: 100rpx; box-sizing: border-box; transition: var(--transition-smooth); } .task-row-item.pending.data-v-5a4b0d9c { border-color: #99f6e4; background: linear-gradient(90deg, var(--primary-light) 0%, #ffffff 100%); } .task-row-item.completed.data-v-5a4b0d9c { border-color: #ccfbf1; background: var(--primary-light); } .task-row-item.claimed.data-v-5a4b0d9c { opacity: 0.92; } .task-row-item.just-done.data-v-5a4b0d9c { animation: task-pop-5a4b0d9c 0.65s ease; } @keyframes task-pop-5a4b0d9c { 0% { transform: scale(1); } 40% { transform: scale(1.03); box-shadow: 0 8rpx 20rpx rgba(32, 78, 43, 0.2); } 100% { transform: scale(1); } } .task-left.data-v-5a4b0d9c { display: flex; align-items: center; gap: 16rpx; min-width: 0; } .task-status-icon.data-v-5a4b0d9c { width: 36rpx; height: 36rpx; border-radius: var(--radius-pill); border: 2rpx solid var(--slate-400); display: flex; align-items: center; justify-content: center; font-size: 24rpx; font-weight: 800; color: var(--slate-400); line-height: 1; flex-shrink: 0; } .task-status-icon.checked.data-v-5a4b0d9c { border-color: var(--primary); background: var(--primary); color: #ffffff; } .task-name.data-v-5a4b0d9c { font-size: 28rpx; font-weight: 700; color: var(--slate-900); } .task-row-item.completed .task-name.data-v-5a4b0d9c { color: #0f766e; } .task-right.data-v-5a4b0d9c { display: flex; align-items: center; gap: 16rpx; flex-shrink: 0; } .task-points.data-v-5a4b0d9c { font-size: 24rpx; font-weight: 600; color: var(--slate-600); } .task-row-item.completed .task-points.data-v-5a4b0d9c { color: var(--primary); } .task-action-btn.data-v-5a4b0d9c { padding: 10rpx 22rpx; border-radius: var(--radius-pill); background: var(--slate-200); color: var(--slate-600); font-size: 24rpx; font-weight: 700; min-height: 52rpx; display: flex; align-items: center; justify-content: center; box-sizing: border-box; transition: var(--transition-smooth); } .task-action-btn.pending.data-v-5a4b0d9c { background: var(--primary); color: #ffffff; box-shadow: 0 4rpx 10rpx rgba(32, 78, 43, 0.2); } .task-action-btn.pending.data-v-5a4b0d9c:active { transform: scale(0.96); } .task-action-btn.data-v-5a4b0d9c:not(.disabled):not(.claimed):not(.pending) { background: var(--primary); color: #ffffff; box-shadow: 0 4rpx 10rpx rgba(32, 78, 43, 0.2); } .task-action-btn.data-v-5a4b0d9c:not(.disabled):not(.claimed):not(.pending):active { transform: scale(0.96); } .task-action-btn.claimed.data-v-5a4b0d9c { background: #ccfbf1; color: #386641; } .task-action-btn.disabled.data-v-5a4b0d9c { opacity: 0.6; } .pg-share-row.data-v-5a4b0d9c { margin-top: 8rpx; } .pg-share-btn.data-v-5a4b0d9c { display: flex; align-items: center; gap: 16rpx; padding: 20rpx 22rpx; background: var(--primary-light); border: 1rpx solid #99f6e4; border-radius: 20rpx; transition: var(--transition-smooth); } .pg-share-btn.data-v-5a4b0d9c:active { opacity: 0.85; transform: translateY(1rpx); } .pg-share-icon-wrap.data-v-5a4b0d9c { width: 72rpx; height: 72rpx; border-radius: 18rpx; background: #ffffff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .pg-share-title.data-v-5a4b0d9c { display: block; font-size: 34rpx; font-weight: 800; color: #0f766e; } .pg-share-sub.data-v-5a4b0d9c { display: block; margin-top: 6rpx; font-size: 28rpx; color: var(--slate-600); } /* === 家人点赞及鼓励 === */ .family-like-strip.data-v-5a4b0d9c { display: flex; align-items: center; gap: 18rpx; margin: 20rpx 24rpx 0; padding: 24rpx 28rpx; background: #ffffff; border-radius: 24rpx; border: 1.5rpx solid #fecdd3; box-shadow: 0 4rpx 16rpx rgba(225, 29, 72, 0.06); transition: var(--transition-smooth); } .family-like-strip.has-likes.data-v-5a4b0d9c { background: linear-gradient(135deg, #fff1f2 0%, #ffffff 100%); } .family-like-strip.data-v-5a4b0d9c:active { transform: scale(0.99); } .family-like-icon.data-v-5a4b0d9c { font-size: 40rpx; } .family-like-body.data-v-5a4b0d9c { flex: 1; min-width: 0; } .family-like-title.data-v-5a4b0d9c { display: block; font-size: 34rpx; font-weight: 800; color: #9f1239; } .family-like-sub.data-v-5a4b0d9c { display: block; margin-top: 8rpx; font-size: 30rpx; color: var(--slate-600); font-weight: 500; } .family-like-recent.data-v-5a4b0d9c { margin-top: 10rpx; display: flex; flex-wrap: wrap; gap: 10rpx; } .family-like-recent-item.data-v-5a4b0d9c { font-size: 26rpx; color: #be123c; background: #ffe4e6; padding: 6rpx 16rpx; border-radius: var(--radius-pill); font-weight: 600; } .family-like-arrow.data-v-5a4b0d9c { font-size: 36rpx; color: var(--slate-400); } .encourage-strip.data-v-5a4b0d9c { display: flex; align-items: flex-start; gap: 16rpx; margin: 16rpx 24rpx 0; padding: 24rpx 24rpx; background: #ecfdf5; border-radius: 20rpx; border: 1rpx solid #a7f3d0; transition: var(--transition-smooth); } .encourage-strip.data-v-5a4b0d9c:active { background: #d1fae5; } .encourage-icon.data-v-5a4b0d9c { font-size: 36rpx; } .encourage-text.data-v-5a4b0d9c { display: block; font-size: 32rpx; font-weight: 700; color: #065f46; line-height: 1.5; } .encourage-tip.data-v-5a4b0d9c { display: block; margin-top: 8rpx; font-size: 28rpx; color: var(--slate-600); font-weight: 500; } /* === 共享/邀请查看样式 === */ .invite-view-wrap.data-v-5a4b0d9c { min-height: 100vh; background: linear-gradient(180deg, #eef6ef 0%, #f4f4f0 42%, #faf9f5 100%); padding-bottom: calc(32rpx + env(safe-area-inset-bottom)); } .invite-hero.data-v-5a4b0d9c { position: relative; padding: 48rpx 32rpx 56rpx; overflow: hidden; } .invite-hero-bg.data-v-5a4b0d9c { position: absolute; inset: 0; background: linear-gradient(145deg, #204e2b 0%, #386641 55%, #163d22 100%); } .invite-hero-content.data-v-5a4b0d9c { position: relative; z-index: 1; color: #ffffff; } .invite-hero-badge.data-v-5a4b0d9c { display: inline-flex; align-items: center; gap: 10rpx; padding: 10rpx 18rpx; background: rgba(255, 255, 255, 0.16); border: 1rpx solid rgba(255, 255, 255, 0.28); border-radius: var(--radius-pill); margin-bottom: 18rpx; } .invite-hero-badge-text.data-v-5a4b0d9c { font-size: 24rpx; font-weight: 600; letter-spacing: 1rpx; } .invite-hero-title.data-v-5a4b0d9c { display: block; font-size: 40rpx; font-weight: 800; line-height: 1.35; color: #ffffff; } .invite-hero-sub.data-v-5a4b0d9c { display: block; margin-top: 10rpx; font-size: 26rpx; color: rgba(255, 255, 255, 0.92); line-height: 1.45; } .invite-hero-patient.data-v-5a4b0d9c { display: inline-flex; align-items: center; gap: 8rpx; margin-top: 16rpx; padding: 8rpx 16rpx; background: rgba(255, 255, 255, 0.12); border-radius: 12rpx; font-size: 26rpx; font-weight: 600; } .invite-body.data-v-5a4b0d9c { margin-top: -28rpx; padding: 0 24rpx 24rpx; position: relative; z-index: 2; } .invite-card.data-v-5a4b0d9c { background: #ffffff; border-radius: var(--radius-card); padding: 24rpx; margin-bottom: 20rpx; box-shadow: 0 8rpx 28rpx rgba(8, 145, 178, 0.08); border: 1rpx solid rgba(8, 145, 178, 0.08); } .invite-card-head.data-v-5a4b0d9c, .invite-section-head.data-v-5a4b0d9c { display: flex; align-items: center; gap: 16rpx; margin-bottom: 16rpx; } .invite-card-icon-wrap.data-v-5a4b0d9c { width: 72rpx; height: 72rpx; border-radius: 18rpx; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .invite-card-icon-wrap--cyan.data-v-5a4b0d9c { background: #eef6ef; } .invite-card-icon-wrap--teal.data-v-5a4b0d9c { background: #eef6ef; } .invite-card-icon-wrap--green.data-v-5a4b0d9c { background: #ecfdf5; } .invite-card-head-text.data-v-5a4b0d9c, .invite-section-head-text.data-v-5a4b0d9c { flex: 1; min-width: 0; } .invite-card-label.data-v-5a4b0d9c { display: block; font-size: 28rpx; font-weight: 700; color: #1b1c1a; } .invite-card-hint.data-v-5a4b0d9c { display: block; margin-top: 4rpx; font-size: 24rpx; color: var(--slate-600); } .invite-code-value.data-v-5a4b0d9c { display: block; text-align: center; font-size: 44rpx; font-weight: 800; letter-spacing: 6rpx; color: #204e2b; padding: 20rpx 12rpx; background: linear-gradient(180deg, #eef6ef, #eef6ef); border-radius: 16rpx; border: 2rpx dashed rgba(8, 145, 178, 0.25); } .invite-summary-top.data-v-5a4b0d9c { display: flex; align-items: center; gap: 20rpx; margin-bottom: 20rpx; } .invite-tree-panel.data-v-5a4b0d9c { flex-shrink: 0; } .invite-tree-meta.data-v-5a4b0d9c { flex: 1; min-width: 0; } .invite-tree-title.data-v-5a4b0d9c { display: block; font-size: 30rpx; font-weight: 800; color: #1b1c1a; } .invite-tree-desc.data-v-5a4b0d9c { display: block; margin-top: 6rpx; font-size: 26rpx; color: var(--slate-600); line-height: 1.4; } .invite-tree-week.data-v-5a4b0d9c { display: block; margin-top: 8rpx; font-size: 22rpx; color: var(--slate-400); } .invite-stat-grid.data-v-5a4b0d9c { display: flex; gap: 12rpx; } .invite-stat-item.data-v-5a4b0d9c { flex: 1; text-align: center; padding: 18rpx 10rpx; background: var(--slate-50); border-radius: 18rpx; border: 1rpx solid var(--slate-200); } .invite-stat-icon-wrap.data-v-5a4b0d9c { width: 48rpx; height: 48rpx; margin: 0 auto 8rpx; border-radius: var(--radius-pill); background: #ffffff; display: flex; align-items: center; justify-content: center; box-shadow: 0 2rpx 8rpx rgba(15, 23, 42, 0.06); } .invite-stat-num.data-v-5a4b0d9c { display: block; font-size: 38rpx; font-weight: 800; color: #1b1c1a; line-height: 1.1; } .invite-stat-label.data-v-5a4b0d9c { display: block; font-size: 22rpx; color: var(--slate-600); margin-top: 6rpx; } .invite-quote-box.data-v-5a4b0d9c { margin-top: 16rpx; padding: 18rpx 20rpx; background: #eef6ef; border-radius: 16rpx; border-left: 6rpx solid #204e2b; } .invite-quote.data-v-5a4b0d9c { font-size: 26rpx; color: #1b1c1a; line-height: 1.55; } .invite-section-title.data-v-5a4b0d9c { display: block; font-size: 30rpx; font-weight: 800; color: #1b1c1a; } .invite-section-sub.data-v-5a4b0d9c { display: block; margin-top: 4rpx; font-size: 24rpx; color: var(--slate-600); } .invite-records-empty.data-v-5a4b0d9c { display: flex; flex-direction: column; align-items: center; gap: 12rpx; padding: 36rpx 24rpx; text-align: center; font-size: 26rpx; color: var(--slate-600); background: var(--slate-50); border-radius: 16rpx; } .invite-timeline.data-v-5a4b0d9c { display: flex; flex-direction: column; gap: 0; } .invite-day-row.data-v-5a4b0d9c { display: flex; gap: 16rpx; } .invite-day-row.is-empty .invite-day-panel.data-v-5a4b0d9c { opacity: 0.85; } .invite-day-rail.data-v-5a4b0d9c { width: 28rpx; display: flex; flex-direction: column; align-items: center; flex-shrink: 0; padding-top: 8rpx; } .invite-day-dot.data-v-5a4b0d9c { width: 16rpx; height: 16rpx; border-radius: var(--radius-pill); background: var(--slate-200); border: 3rpx solid #ffffff; box-shadow: 0 0 0 2rpx #cbd5e1; } .invite-day-dot.filled.data-v-5a4b0d9c { background: #204e2b; box-shadow: 0 0 0 2rpx #b8dcc0; } .invite-day-line.data-v-5a4b0d9c { flex: 1; width: 2rpx; min-height: 24rpx; margin: 6rpx 0; background: linear-gradient(180deg, #cbd5e1, #e2e8f0); } .invite-day-panel.data-v-5a4b0d9c { flex: 1; min-width: 0; padding: 0 0 20rpx; } .invite-day-head.data-v-5a4b0d9c { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 12rpx; } .invite-day-date.data-v-5a4b0d9c { font-size: 30rpx; font-weight: 800; color: var(--slate-900); } .invite-day-week.data-v-5a4b0d9c { font-size: 24rpx; color: var(--slate-600); } .invite-metric-grid.data-v-5a4b0d9c { display: flex; flex-wrap: wrap; gap: 10rpx; } .invite-metric-chip.data-v-5a4b0d9c { flex: 1; min-width: calc(50% - 6rpx); padding: 14rpx 16rpx; background: var(--slate-50); border-radius: 14rpx; border: 1rpx solid var(--slate-200); } .invite-metric-label.data-v-5a4b0d9c { display: block; font-size: 22rpx; font-weight: 600; color: var(--slate-600); margin-bottom: 6rpx; } .invite-metric-value-row.data-v-5a4b0d9c { display: flex; align-items: baseline; gap: 6rpx; flex-wrap: wrap; } .invite-metric-value.data-v-5a4b0d9c { font-size: 34rpx; font-weight: 800; color: #204e2b; line-height: 1.2; } .invite-metric-value.is-high.data-v-5a4b0d9c { color: var(--danger); } .invite-metric-unit.data-v-5a4b0d9c { font-size: 22rpx; color: var(--slate-600); } .invite-metric-flag.data-v-5a4b0d9c { display: inline-flex; align-items: center; gap: 4rpx; margin-top: 8rpx; padding: 4rpx 10rpx; font-size: 20rpx; font-weight: 600; color: var(--danger); background: var(--danger-light); border-radius: 8rpx; } .invite-day-empty.data-v-5a4b0d9c { display: flex; align-items: center; gap: 8rpx; padding: 14rpx 16rpx; font-size: 26rpx; color: var(--slate-400); background: var(--slate-50); border-radius: 14rpx; } .invite-nickname-row.data-v-5a4b0d9c { display: flex; flex-wrap: wrap; gap: 12rpx; margin-bottom: 20rpx; } .invite-nickname-chip.data-v-5a4b0d9c { min-height: 72rpx; padding: 14rpx 28rpx; border-radius: var(--radius-pill); background: var(--slate-50); border: 2rpx solid var(--slate-200); font-size: 28rpx; color: var(--slate-600); display: flex; align-items: center; justify-content: center; transition: var(--transition-smooth); } .invite-nickname-chip.data-v-5a4b0d9c:active { opacity: 0.88; } .invite-nickname-chip.active.data-v-5a4b0d9c { background: var(--success); border-color: var(--success); color: #ffffff; font-weight: 700; } .invite-like-btn.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: center; gap: 12rpx; min-height: 96rpx; padding: 24rpx 32rpx; background: var(--success-grad); color: #ffffff; border-radius: var(--radius-pill); font-size: 30rpx; font-weight: 700; box-shadow: var(--shadow-glow-success); transition: var(--transition-smooth); } .invite-like-btn.data-v-5a4b0d9c:active { transform: scale(0.98); opacity: 0.92; } .invite-like-btn.done.data-v-5a4b0d9c { background: var(--success-light); color: var(--success); border: 2rpx solid #a7f3d0; box-shadow: none; } .invite-like-btn.loading.data-v-5a4b0d9c { opacity: 0.72; } .invite-like-btn.burst.data-v-5a4b0d9c { animation: invite-heart-burst-5a4b0d9c 0.85s ease; } @keyframes invite-heart-burst-5a4b0d9c { 0% { transform: scale(1); } 30% { transform: scale(1.06); box-shadow: 0 12rpx 32rpx rgba(5, 150, 105, 0.4); } 100% { transform: scale(1); } } .invite-footer.data-v-5a4b0d9c { display: flex; align-items: flex-start; justify-content: center; gap: 10rpx; padding: 8rpx 12rpx 0; } .invite-disclaimer.data-v-5a4b0d9c { flex: 1; font-size: 22rpx; color: var(--slate-600); line-height: 1.5; text-align: left; } .invite-skeleton-wrap.data-v-5a4b0d9c { padding: 0 24rpx; margin-top: -28rpx; } .invite-skeleton-card.data-v-5a4b0d9c { height: 160rpx; margin-bottom: 20rpx; border-radius: var(--radius-card); background: linear-gradient(90deg, var(--slate-200) 25%, var(--slate-100) 50%, var(--slate-200) 75%); background-size: 200% 100%; animation: invite-shimmer-5a4b0d9c 1.2s ease-in-out infinite; } .invite-skeleton-short.data-v-5a4b0d9c { height: 120rpx; } .invite-skeleton-tall.data-v-5a4b0d9c { height: 320rpx; } @keyframes invite-shimmer-5a4b0d9c { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } .invite-error-card.data-v-5a4b0d9c { margin: 32rpx 24rpx; padding: 48rpx 32rpx; background: #ffffff; border-radius: var(--radius-card); text-align: center; box-shadow: var(--shadow-premium); } .invite-error-icon-wrap.data-v-5a4b0d9c { width: 96rpx; height: 96rpx; margin: 0 auto 20rpx; border-radius: var(--radius-pill); background: var(--danger-light); display: flex; align-items: center; justify-content: center; } .invite-error-title.data-v-5a4b0d9c { display: block; font-size: 32rpx; font-weight: 800; color: #1b1c1a; margin-bottom: 10rpx; } .invite-error-text.data-v-5a4b0d9c { font-size: 26rpx; color: var(--slate-600); line-height: 1.5; } /* === 战报弹层 === */ .report-mask.data-v-5a4b0d9c { position: fixed; inset: 0; z-index: 2000; background: rgba(15, 23, 42, 0.45); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); display: flex; align-items: flex-end; } .report-panel.data-v-5a4b0d9c { width: 100%; max-height: 88vh; background: #ffffff; border-radius: 28rpx 28rpx 0 0; padding: 28rpx 28rpx calc(28rpx + env(safe-area-inset-bottom)); } .report-panel-head.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20rpx; } .report-panel-title.data-v-5a4b0d9c { font-size: 34rpx; font-weight: 800; color: var(--slate-900); } .report-panel-close.data-v-5a4b0d9c { font-size: 44rpx; color: var(--slate-400); padding: 0 8rpx; } .report-poster.data-v-5a4b0d9c { padding: 24rpx; background: linear-gradient(180deg, var(--primary-light) 0%, #ffffff 100%); border-radius: var(--radius-card); border: 1rpx solid #ccfbf1; } .report-poster-top.data-v-5a4b0d9c { display: flex; align-items: center; gap: 16rpx; margin-bottom: 12rpx; } .report-poster-name.data-v-5a4b0d9c { font-size: 32rpx; font-weight: 700; color: var(--slate-900); } .report-poster-week.data-v-5a4b0d9c { display: block; font-size: 24rpx; color: var(--slate-600); margin-bottom: 16rpx; } .report-stat-grid.data-v-5a4b0d9c { display: flex; gap: 12rpx; margin-bottom: 16rpx; } .report-stat-item.data-v-5a4b0d9c { flex: 1; text-align: center; padding: 14rpx 8rpx; background: #ffffff; border-radius: 16rpx; border: 1rpx solid var(--slate-100); } .report-stat-num.data-v-5a4b0d9c { display: block; font-size: 34rpx; font-weight: 800; color: var(--success); } .report-stat-label.data-v-5a4b0d9c { display: block; font-size: 22rpx; color: var(--slate-600); } .report-poster-quote.data-v-5a4b0d9c { display: block; font-size: 26rpx; color: #334155; line-height: 1.5; } .report-poster-disclaimer.data-v-5a4b0d9c { display: block; margin-top: 12rpx; font-size: 22rpx; color: var(--slate-400); } .report-actions.data-v-5a4b0d9c { margin-top: 24rpx; display: flex; flex-direction: column; gap: 12rpx; } .report-share-btn.data-v-5a4b0d9c { height: 88rpx; line-height: 88rpx; text-align: center; background: var(--primary-grad); color: #ffffff; font-size: 30rpx; font-weight: 700; border-radius: var(--radius-pill); border: none; box-shadow: var(--shadow-glow-primary); } .report-secondary-btn.data-v-5a4b0d9c { height: 72rpx; display: flex; align-items: center; justify-content: center; color: var(--slate-600); font-size: 28rpx; } .daily-page.is-invite-viewer.data-v-5a4b0d9c { background: var(--primary-light, #eef6ef); padding-bottom: 0; } /** * Google Stitch MCP · VitalMint Health * 设计 token 与 stitch-weekly.html tailwind.config 一一对应 */ .stitch-vitalmint.data-v-5a4b0d9c { --primary: #006c49; --on-primary: #ffffff; --on-primary-fixed-variant: #005236; --primary-container: #10b981; --on-primary-container: #00422b; --inverse-primary: #4edea3; --surface: #f4fbf4; --on-surface: #161d19; --on-surface-variant: #3c4a42; --surface-container-lowest: #ffffff; --surface-container-low: #eef6ee; --surface-container: #e8f0e9; --surface-container-high: #e3eae3; --surface-container-highest: #dde4dd; --surface-variant: #dde4dd; --outline: #6c7a71; --outline-variant: #bbcabf; --error: #ba1a1a; --on-error-container: #93000a; --error-container: #ffdad6; --tertiary: #a43a3a; --tertiary-container: #fc7c78; --on-tertiary: #ffffff; --on-tertiary-container: #711419; --st-container-margin: 40rpx; --st-section-gap: 64rpx; --st-card-padding: 40rpx; --st-stack-gap: 32rpx; --st-inline-gap: 24rpx; --st-radius-2xl: 48rpx; --st-radius-xl: 24rpx; --st-radius-lg: 16rpx; --st-shadow-ambient: 0 20rpx 60rpx -20rpx rgba(0, 108, 73, 0.08); } .weekly-page.stitch-vitalmint.data-v-5a4b0d9c { min-height: 100vh; background: var(--surface); color: var(--on-surface); padding-bottom: calc(200rpx + env(safe-area-inset-bottom)); } /** * more.vue — Daily Care · Stitch Modern WeChat UI (code.html) */ .more-page.data-v-5a4b0d9c { /* 与 code.html .ambient-shadow (0 20px 30px -10px) 1:1 */ --mc-shadow-ambient: 0 40rpx 60rpx -20rpx rgba(0, 108, 73, 0.08); min-height: 100vh; background: var(--surface); color: var(--on-surface); padding-bottom: calc(48rpx + env(safe-area-inset-bottom)); } /* ===== 浇水特效(对应 code.html @keyframes fall / pulse-growth / shimmer / float-up-fade / fall-arrow) ===== */ .more-page .mc-rain.data-v-5a4b0d9c { position: absolute; inset: 0; pointer-events: none; z-index: 4; } .more-page .mc-droplet.data-v-5a4b0d9c { position: absolute; top: 0; width: 8rpx; height: 20rpx; background: #3b82f6; border-radius: 50%; animation: mc-fall-5a4b0d9c 0.6s linear infinite; } @keyframes mc-fall-5a4b0d9c { 0% { transform: translateY(-40rpx); opacity: 0; } 50% { opacity: 1; } 100% { transform: translateY(80rpx); opacity: 0; } } .more-page .mc-sparkle.data-v-5a4b0d9c { position: absolute; font-size: 28rpx; pointer-events: none; z-index: 5; color: #4edea3; animation: mc-shimmer-5a4b0d9c 1s ease-out forwards; } @keyframes mc-shimmer-5a4b0d9c { 0% { opacity: 0; transform: scale(0) rotate(0deg); } 50% { opacity: 1; transform: scale(1.2) rotate(180deg); } 100% { opacity: 0; transform: scale(0) rotate(360deg); } } .more-page .mc-sugar-decrease-float.data-v-5a4b0d9c { position: absolute; left: 50%; top: 8%; transform: translateX(-50%); color: #10b981; font-weight: 800; font-size: 48rpx; line-height: 1.2; pointer-events: none; z-index: 12; text-shadow: 0 8rpx 24rpx rgba(16, 185, 129, 0.3); animation: mc-float-up-fade-local-5a4b0d9c 2s ease-out forwards; } @keyframes mc-float-up-fade-local-5a4b0d9c { 0% { transform: translate(-50%, 40rpx); opacity: 0; } 20% { opacity: 1; } 80% { opacity: 1; } 100% { transform: translate(-50%, -200rpx); opacity: 0; } } .more-page .mc-sugar-particles.data-v-5a4b0d9c { position: fixed; inset: 0; pointer-events: none; z-index: 90; overflow: hidden; } .more-page .mc-sugar-particle.data-v-5a4b0d9c { position: absolute; top: 0; color: var(--primary-container); font-weight: 700; line-height: 1; animation: mc-fall-arrow-5a4b0d9c 1.5s linear forwards; } .more-page .mc-sugar-particle.is-south.data-v-5a4b0d9c { font-weight: 400; } @keyframes mc-fall-arrow-5a4b0d9c { 0% { transform: translateY(-50vh) scale(0.5); opacity: 0; } 50% { opacity: 0.8; } 100% { transform: translateY(110vh) scale(1.2); opacity: 0; } } /* ===== Fixed green header ===== */ .more-page .mc-header.data-v-5a4b0d9c { position: fixed; left: 0; right: 0; top: 0; z-index: 40; display: flex; align-items: flex-end; box-sizing: border-box; background: var(--primary); border-radius: 0 0 48rpx 48rpx; overflow: hidden; } .more-page .mc-header-inner.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: space-between; gap: 16rpx; width: 100%; padding: 0 var(--st-container-margin) 48rpx; box-sizing: border-box; } .more-page .mc-header-left.data-v-5a4b0d9c { display: flex; align-items: center; gap: var(--st-inline-gap); flex: 1; min-width: 0; overflow: hidden; } .more-page .mc-header-back.data-v-5a4b0d9c { width: 80rpx; height: 80rpx; border-radius: 50%; background: rgba(255, 255, 255, 0.12); display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .more-page .mc-header-back.data-v-5a4b0d9c:active { opacity: 0.85; transform: scale(0.98); } .more-page .mc-avatar.data-v-5a4b0d9c { width: 80rpx; height: 80rpx; border-radius: 50%; border: 4rpx solid var(--on-primary); background: rgba(255, 255, 255, 0.15); display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden; } .more-page .mc-header-text.data-v-5a4b0d9c { flex: 1; min-width: 0; overflow: hidden; } .more-page .mc-header-title.data-v-5a4b0d9c { display: block; max-width: 100%; font-size: 36rpx; font-weight: 700; line-height: 1.25; color: var(--on-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .more-page .mc-header-name.data-v-5a4b0d9c { display: block; margin-top: 4rpx; font-size: 28rpx; font-weight: 500; color: rgba(255, 255, 255, 0.85); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .more-page .mc-header-actions.data-v-5a4b0d9c { display: flex; align-items: center; gap: 12rpx; flex-shrink: 0; margin-left: 8rpx; } .more-page .mc-header-pill.data-v-5a4b0d9c { display: inline-flex; align-items: center; gap: 8rpx; padding: 12rpx 24rpx; border-radius: 999rpx; background: rgba(255, 255, 255, 0.12); color: var(--on-primary); font-size: 24rpx; font-weight: 600; line-height: 1; flex-shrink: 0; white-space: nowrap; } .more-page .mc-header-pill.data-v-5a4b0d9c:active, .more-page .mc-header-icon-btn.data-v-5a4b0d9c:active { opacity: 0.85; transform: scale(0.98); } .more-page .mc-header-icon-btn.data-v-5a4b0d9c { width: 80rpx; height: 80rpx; border-radius: 50%; background: rgba(255, 255, 255, 0.12); display: flex; align-items: center; justify-content: center; flex-shrink: 0; } /* ===== Main scroll area ===== */ .more-page .mc-main.data-v-5a4b0d9c { padding-left: var(--st-container-margin); padding-right: var(--st-container-margin); display: flex; flex-direction: column; gap: 48rpx; } /* Range toggle */ .more-page .mc-range-toggle.data-v-5a4b0d9c { display: flex; padding: 8rpx; border-radius: 999rpx; background: var(--surface-container-high); } .more-page .mc-range-opt.data-v-5a4b0d9c { flex: 1; text-align: center; padding: 16rpx 0; border-radius: 999rpx; font-size: 24rpx; font-weight: 700; color: var(--on-surface-variant); transition: all 0.2s ease; } .more-page .mc-range-opt.active.data-v-5a4b0d9c { background: var(--primary); color: var(--on-primary); box-shadow: 0 8rpx 16rpx rgba(0, 108, 73, 0.2); } /* Card base */ .more-page .mc-card.data-v-5a4b0d9c { background: var(--surface-container-lowest); border-radius: var(--st-radius-2xl); padding: var(--st-card-padding); box-shadow: var(--mc-shadow-ambient); } .more-page .mc-card-head.data-v-5a4b0d9c { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 32rpx; } .more-page .mc-card-title.data-v-5a4b0d9c { display: block; font-size: 40rpx; font-weight: 700; color: var(--on-surface); } .more-page .mc-card-sub.data-v-5a4b0d9c { display: block; margin-top: 4rpx; font-size: 28rpx; color: var(--outline); } /* Calendar — 与 code.html 同一 7 列 grid(星期 + 日期) */ .more-page .mc-cal-grid--full.data-v-5a4b0d9c { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8rpx; text-align: center; margin-bottom: 32rpx; } .more-page .mc-cal-weekday.data-v-5a4b0d9c { font-size: 24rpx; font-weight: 600; color: var(--outline); padding: 8rpx 0; } .more-page .mc-cal-weekday.is-weekend.data-v-5a4b0d9c { color: var(--tertiary); } .more-page .mc-cal-grid.data-v-5a4b0d9c { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8rpx; text-align: center; margin-bottom: 32rpx; } .more-page .mc-cal-cell.data-v-5a4b0d9c { position: relative; padding: 16rpx 0; border-radius: var(--st-radius-lg); font-size: 28rpx; color: var(--on-surface); } .more-page .mc-cal-cell.off.data-v-5a4b0d9c { color: rgba(108, 122, 113, 0.3); } .more-page .mc-cal-cell.future-off.data-v-5a4b0d9c { color: rgba(108, 122, 113, 0.4); } .more-page .mc-cal-cell.in-range.data-v-5a4b0d9c { color: var(--on-surface); } .more-page .mc-cal-cell.recorded.data-v-5a4b0d9c { background: rgba(16, 185, 129, 0.12); color: var(--primary); font-weight: 700; } .more-page .mc-cal-cell.recorded-high.data-v-5a4b0d9c { background: rgba(186, 26, 26, 0.12); color: var(--error); font-weight: 700; } .more-page .mc-cal-cell.today-empty.data-v-5a4b0d9c { background: var(--tertiary-container); color: var(--on-tertiary); font-weight: 700; } .more-page .mc-cal-dot.data-v-5a4b0d9c { position: absolute; bottom: 8rpx; left: 50%; transform: translateX(-50%); width: 8rpx; height: 8rpx; border-radius: 50%; background: var(--primary); } .more-page .mc-cal-dot.is-high.data-v-5a4b0d9c { background: var(--error); } .more-page .mc-cal-foot.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: space-between; padding-top: 32rpx; border-top: 1rpx solid rgba(187, 202, 191, 0.3); } .more-page .mc-cal-foot-text.data-v-5a4b0d9c { font-size: 28rpx; color: var(--outline); } .more-page .mc-cal-foot-btn.data-v-5a4b0d9c { padding: 24rpx 48rpx; border-radius: 32rpx; background: var(--primary); color: var(--on-primary); font-size: 24rpx; font-weight: 700; } .more-page .mc-cal-foot-btn.data-v-5a4b0d9c:active { opacity: 0.9; transform: scale(0.98); } /* Blood records */ .more-page .mc-blood-section.data-v-5a4b0d9c { display: flex; flex-direction: column; gap: 32rpx; } .more-page .mc-section-head.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0; } .more-page .mc-blood-list.data-v-5a4b0d9c { display: flex; flex-direction: column; gap: 32rpx; } .more-page .mc-section-count.data-v-5a4b0d9c { font-size: 28rpx; color: var(--outline); } .more-page .mc-day-card.data-v-5a4b0d9c { margin-bottom: 0; } .more-page .mc-day-card.data-v-5a4b0d9c:last-child { margin-bottom: 0; } .more-page .mc-day-head.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: space-between; margin-bottom: 32rpx; } .more-page .mc-day-date.data-v-5a4b0d9c { font-size: 40rpx; font-weight: 700; color: var(--on-surface); } .more-page .mc-day-weekday.data-v-5a4b0d9c { font-size: 28rpx; color: var(--outline); } .more-page .mc-metric-stack.data-v-5a4b0d9c { display: flex; flex-direction: column; gap: 16rpx; } .more-page .mc-metric-row.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: space-between; padding: 32rpx; margin-bottom: 0; border-radius: 32rpx; background: rgba(244, 251, 244, 0.55); border: 1rpx solid rgba(187, 202, 191, 0.2); } .more-page .mc-metric-row.is-abnormal-high.data-v-5a4b0d9c { background: rgba(255, 218, 214, 0.22); border-color: rgba(186, 26, 26, 0.22); } .more-page .mc-metric-row.is-abnormal-low.data-v-5a4b0d9c { background: rgba(219, 234, 254, 0.35); border-color: rgba(37, 99, 235, 0.22); } .more-page .mc-metric-row.data-v-5a4b0d9c:last-child { margin-bottom: 0; } .more-page .mc-metric-label.data-v-5a4b0d9c { font-size: 28rpx; color: var(--outline); } .more-page .mc-metric-value-wrap.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8rpx 12rpx; text-align: right; } .more-page .mc-metric-badge.data-v-5a4b0d9c { padding: 4rpx 12rpx; border-radius: 999rpx; font-size: 20rpx; font-weight: 700; line-height: 1.2; } .more-page .mc-metric-badge.is-high.data-v-5a4b0d9c { color: var(--error); background: rgba(186, 26, 26, 0.12); } .more-page .mc-metric-badge.is-low.data-v-5a4b0d9c { color: #1d4ed8; background: rgba(37, 99, 235, 0.12); } .more-page .mc-metric-value.data-v-5a4b0d9c { font-size: 48rpx; font-weight: 800; color: var(--on-surface); } .more-page .mc-metric-value.is-high.data-v-5a4b0d9c { color: var(--error); } .more-page .mc-metric-value.is-low.data-v-5a4b0d9c { color: #1d4ed8; } .more-page .mc-metric-empty.data-v-5a4b0d9c { text-align: right; } .more-page .mc-metric-empty-val.data-v-5a4b0d9c { font-size: 40rpx; font-weight: 700; color: var(--outline-variant); } .more-page .mc-metric-empty-unit.data-v-5a4b0d9c { font-size: 24rpx; font-weight: 600; color: var(--outline); } .more-page .mc-metric-value.is-empty.data-v-5a4b0d9c { font-size: 40rpx; font-weight: 700; color: var(--outline-variant); } .more-page .mc-metric-unit.data-v-5a4b0d9c { margin-left: 8rpx; font-size: 24rpx; font-weight: 600; color: var(--outline); } .more-page .mc-state-card.data-v-5a4b0d9c { padding: 64rpx 32rpx; text-align: center; font-size: 28rpx; color: var(--outline); } /* Paradise */ .more-page .mc-paradise-card.data-v-5a4b0d9c { overflow: hidden; position: relative; } .more-page .mc-paradise-head.data-v-5a4b0d9c { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 48rpx; } .more-page .mc-points-badge.data-v-5a4b0d9c { padding: 8rpx 24rpx; border-radius: var(--st-radius-xl); background: rgba(0, 108, 73, 0.1); text-align: center; flex-shrink: 0; } .more-page .mc-points-num.data-v-5a4b0d9c { display: block; font-size: 48rpx; font-weight: 800; color: var(--primary); line-height: 1.1; } .more-page .mc-points-label.data-v-5a4b0d9c { display: block; font-size: 20rpx; font-weight: 700; color: rgba(0, 108, 73, 0.7); } .more-page .mc-quick-grid.data-v-5a4b0d9c { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16rpx; margin-bottom: 64rpx; } .more-page .mc-quick-item.data-v-5a4b0d9c { display: flex; flex-direction: column; align-items: center; gap: 8rpx; padding: 24rpx 12rpx; border-radius: 32rpx; background: var(--surface-container-low); } .more-page .mc-quick-item.data-v-5a4b0d9c:active { transform: scale(0.98); opacity: 0.9; } .more-page .mc-quick-label.data-v-5a4b0d9c { font-size: 24rpx; font-weight: 600; color: var(--on-surface); } .more-page .mc-tasks-title.data-v-5a4b0d9c { font-size: 24rpx; font-weight: 700; color: var(--on-surface); margin-bottom: 16rpx; display: block; } .more-page .mc-tasks-section.data-v-5a4b0d9c { margin-top: 0; margin-bottom: 32rpx; } .more-page .mc-tasks-grid.data-v-5a4b0d9c { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12rpx; margin-bottom: 0; } .more-page .mc-task-block.data-v-5a4b0d9c { display: flex; flex-direction: column; gap: 8rpx; padding: 16rpx 12rpx; border-radius: 24rpx; background: var(--surface-container-low); border: 1rpx solid rgba(0, 108, 73, 0.08); } .more-page .mc-task-block.data-v-5a4b0d9c:active { transform: scale(0.98); opacity: 0.92; } .more-page .mc-task-block.is-done.data-v-5a4b0d9c { border-color: rgba(0, 108, 73, 0.18); } .more-page .mc-task-block-top.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: space-between; } .more-page .mc-task-block .mc-task-check.data-v-5a4b0d9c { width: 32rpx; height: 32rpx; border-width: 3rpx; } .more-page .mc-task-block .mc-task-dot.data-v-5a4b0d9c { width: 12rpx; height: 12rpx; } .more-page .mc-task-block-points.data-v-5a4b0d9c { font-size: 20rpx; font-weight: 700; color: var(--primary); } .more-page .mc-task-block-body.data-v-5a4b0d9c { display: flex; flex-direction: column; align-items: center; gap: 6rpx; padding: 4rpx 0; } .more-page .mc-task-block-name.data-v-5a4b0d9c { font-size: 24rpx; font-weight: 600; color: var(--on-surface); text-align: center; line-height: 1.2; } .more-page .mc-task-block-status.data-v-5a4b0d9c { align-self: center; font-size: 20rpx; font-weight: 700; font-style: italic; color: var(--outline); line-height: 1.2; } .more-page .mc-task-block-action.data-v-5a4b0d9c { align-self: center; padding: 4rpx 20rpx; border-radius: 999rpx; background: var(--on-surface); color: var(--surface); font-size: 20rpx; font-weight: 700; line-height: 1.3; } .more-page .mc-task-block-action.is-water.data-v-5a4b0d9c { background: var(--primary); color: var(--on-primary); } .more-page .mc-tasks-list.data-v-5a4b0d9c { display: flex; flex-direction: column; gap: 24rpx; } .more-page .mc-task-row.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: space-between; } .more-page .mc-task-left.data-v-5a4b0d9c { display: flex; align-items: center; gap: 24rpx; flex: 1; min-width: 0; } .more-page .mc-task-check.data-v-5a4b0d9c { width: 40rpx; height: 40rpx; line-height: 40rpx; border-radius: 50%; border: 4rpx solid var(--primary); display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .more-page .mc-task-check.pending.data-v-5a4b0d9c { border-color: rgba(187, 202, 191, 0.3); } .more-page .mc-task-dot.data-v-5a4b0d9c { width: 16rpx; height: 16rpx; border-radius: 50%; background: var(--outline-variant); } .more-page .mc-task-name.data-v-5a4b0d9c { font-size: 28rpx; color: var(--on-surface); } .more-page .mc-task-right.data-v-5a4b0d9c { display: flex; align-items: center; gap: 24rpx; flex-shrink: 0; } .more-page .mc-task-points.data-v-5a4b0d9c { font-size: 24rpx; font-weight: 700; color: var(--primary); } .more-page .mc-task-done.data-v-5a4b0d9c { font-size: 24rpx; font-weight: 700; font-style: italic; color: var(--outline); } .more-page .mc-task-btn.data-v-5a4b0d9c { padding: 8rpx 32rpx; border-radius: 999rpx; background: var(--on-surface); color: var(--surface); font-size: 24rpx; font-weight: 700; line-height: 1.4; } .more-page .mc-tree-zone.data-v-5a4b0d9c { margin-top: 0; padding: 35rpx; border-radius: var(--st-radius-2xl); background: linear-gradient(135deg, rgba(0, 108, 73, 0.05) 0%, rgba(0, 108, 73, 0.2) 100%); border: 1rpx solid rgba(0, 108, 73, 0.1); position: relative; overflow: visible; } .more-page .mc-tree-level-head.data-v-5a4b0d9c { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 48rpx; } .more-page .mc-tree-level-row.data-v-5a4b0d9c { display: flex; align-items: center; gap: 16rpx; } .more-page .mc-tree-lv-badge.data-v-5a4b0d9c { padding: 4rpx 16rpx; border-radius: 999rpx; background: var(--primary); color: var(--on-primary); font-size: 20rpx; font-weight: 800; } .more-page .mc-tree-stage-name.data-v-5a4b0d9c { font-size: 32rpx; font-weight: 800; color: var(--primary); } .more-page .mc-tree-xp-hint.data-v-5a4b0d9c { display: block; margin-top: 8rpx; font-size: 22rpx; color: rgba(0, 108, 73, 0.6); } .more-page .mc-tree-xp-bold.data-v-5a4b0d9c { font-weight: 700; color: rgba(0, 108, 73, 0.85); } .more-page .mc-tree-xp-text.data-v-5a4b0d9c { font-size: 24rpx; font-weight: 700; color: var(--primary); } .more-page .mc-tree-progress-track.data-v-5a4b0d9c { width: 100%; height: 20rpx; border-radius: 999rpx; background: rgba(255, 255, 255, 0.5); border: 1rpx solid rgba(255, 255, 255, 0.2); overflow: hidden; margin-bottom: 64rpx; } .more-page .mc-tree-progress-bar.data-v-5a4b0d9c { height: 100%; border-radius: 999rpx; background: linear-gradient(90deg, var(--primary) 0%, var(--primary-container) 100%); transition: width 0.5s ease; } .more-page .mc-tree-display.data-v-5a4b0d9c { position: relative; display: flex; align-items: center; justify-content: center; min-height: 200rpx; padding: 64rpx 0; margin-bottom: 48rpx; overflow: visible; } .more-page .mc-tree-display-bg.data-v-5a4b0d9c { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0.1; font-size: 240rpx; line-height: 1; pointer-events: none; } .more-page .mc-tree-emoji-wrap.data-v-5a4b0d9c { position: relative; z-index: 2; transition: transform 0.3s ease; } .more-page .mc-tree-emoji-wrap.is-watering.data-v-5a4b0d9c { animation: mc-growth-pulse-5a4b0d9c 0.8s ease-out; } .more-page .mc-tree-emoji.data-v-5a4b0d9c { font-size: 144rpx; line-height: 1; filter: drop-shadow(0 16rpx 32rpx rgba(0, 0, 0, 0.2)); } /* 对应 code.html pulse-growth:放大 + 绿色光晕 */ @keyframes mc-growth-pulse-5a4b0d9c { 0% { transform: scale(1); filter: drop-shadow(0 0 0 rgba(78, 222, 163, 0)); } 50% { transform: scale(1.15); filter: drop-shadow(0 0 30rpx rgba(78, 222, 163, 0.6)); } 100% { transform: scale(1); filter: drop-shadow(0 0 0 rgba(78, 222, 163, 0)); } } .more-page .mc-tree-graphic.data-v-5a4b0d9c { position: relative; z-index: 2; } .more-page .mc-float-reward.data-v-5a4b0d9c { position: absolute; top: 20%; left: 50%; transform: translateX(-50%); font-size: 32rpx; font-weight: 800; color: var(--primary); z-index: 5; animation: mc-float-up-5a4b0d9c 1.2s ease-out forwards; } @keyframes mc-float-up-5a4b0d9c { 0% { opacity: 0; transform: translate(-50%, 20rpx); } 30% { opacity: 1; } 100% { opacity: 0; transform: translate(-50%, -80rpx); } } .more-page .mc-water-btn.data-v-5a4b0d9c { width: 100%; padding: 32rpx 0; display: flex; align-items: center; justify-content: center; gap: 24rpx; border-radius: 32rpx; background: var(--primary); color: var(--on-primary); font-size: 32rpx; font-weight: 700; line-height: 1.2; box-shadow: 0 16rpx 32rpx rgba(0, 108, 73, 0.25); border: none; } .more-page .mc-water-btn.disabled.data-v-5a4b0d9c { opacity: 0.5; } .more-page .mc-water-btn.data-v-5a4b0d9c:active { transform: scale(0.96); background: var(--primary-container); } .more-page .mc-water-btn:active .tj-icon-wrap.data-v-5a4b0d9c { transform: rotate(-12deg); } .more-page .mc-water-action.data-v-5a4b0d9c { position: relative; z-index: 6; } .more-page .mc-water-btn.pulse.data-v-5a4b0d9c { animation: mc-water-pulse-5a4b0d9c 2s ease-in-out infinite; } @keyframes mc-water-pulse-5a4b0d9c { 0%, 100% { box-shadow: 0 16rpx 32rpx rgba(0, 108, 73, 0.25); } 50% { box-shadow: 0 16rpx 48rpx rgba(0, 108, 73, 0.45); } } .more-page .mc-water-hint.data-v-5a4b0d9c { display: block; margin-top: 24rpx; text-align: center; font-size: 22rpx; font-style: italic; color: var(--outline); } /* Social / encourage / cards */ .more-page .mc-social-card.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: space-between; gap: 24rpx; } .more-page .mc-social-left.data-v-5a4b0d9c { display: flex; align-items: center; gap: 24rpx; flex: 1; min-width: 0; } .more-page .mc-social-icon.data-v-5a4b0d9c { width: 80rpx; height: 80rpx; border-radius: 32rpx; background: rgba(252, 124, 120, 0.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .more-page .mc-social-title.data-v-5a4b0d9c { display: block; font-size: 28rpx; font-weight: 700; color: var(--on-surface); } .more-page .mc-social-sub.data-v-5a4b0d9c { display: block; margin-top: 4rpx; font-size: 24rpx; color: var(--outline); } .more-page .mc-encourage.data-v-5a4b0d9c { display: flex; align-items: flex-start; gap: 24rpx; padding: 0 8rpx; } .more-page .mc-encourage-icon-wrap.data-v-5a4b0d9c { width: 40rpx; height: 40rpx; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 4rpx; } .more-page .mc-encourage-icon.data-v-5a4b0d9c { font-size: 40rpx; line-height: 1; color: var(--primary-container); } .more-page .mc-encourage-body.data-v-5a4b0d9c { flex: 1; min-width: 0; } .more-page .mc-encourage-text.data-v-5a4b0d9c { font-size: 28rpx; line-height: 1.5; color: var(--on-surface); } .more-page .mc-encourage-highlight.data-v-5a4b0d9c { color: var(--primary); font-weight: 700; } .more-page .mc-encourage-tip.data-v-5a4b0d9c { display: block; margin-top: 8rpx; font-size: 24rpx; color: var(--outline); } .more-page .mc-card-scroll.data-v-5a4b0d9c { margin: 0 calc(-1 * var(--st-container-margin)); padding: 0 var(--st-container-margin) 8rpx; white-space: nowrap; } .more-page .mc-card-row.data-v-5a4b0d9c { display: inline-flex; gap: 24rpx; } .more-page .mc-card-chip.data-v-5a4b0d9c { display: inline-flex; align-items: center; gap: 8rpx; padding: 16rpx 24rpx; border-radius: var(--st-radius-xl); background: var(--surface-container-lowest); border: 1rpx solid rgba(187, 202, 191, 0.2); box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.04); font-size: 24rpx; font-weight: 700; color: var(--on-surface-variant); } .more-page .mc-card-chip-count-only.data-v-5a4b0d9c { background: var(--surface-container-lowest); border: 1rpx solid rgba(187, 202, 191, 0.2); box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.04); color: var(--on-surface); } .more-page .mc-card-chip-num.data-v-5a4b0d9c { font-weight: 800; color: var(--on-surface); } .more-page .mc-card-chip.active.data-v-5a4b0d9c { background: var(--primary); color: var(--on-primary); border-color: var(--primary); box-shadow: 0 8rpx 20rpx rgba(0, 108, 73, 0.25); } .more-page .mc-card-chip-meta.data-v-5a4b0d9c { font-size: 20rpx; font-weight: 600; padding: 2rpx 8rpx; border-radius: 8rpx; background: rgba(255, 255, 255, 0.2); } .more-page .mc-card-chip:not(.active) .mc-card-chip-meta.data-v-5a4b0d9c { background: transparent; color: var(--outline); } .more-page .mc-card-chip-count.data-v-5a4b0d9c { color: var(--outline); font-weight: 600; } .more-page .mc-card-chip.data-v-5a4b0d9c:not(.active):not(.mc-card-chip-count-only) { background: var(--surface-container-high); border: 1rpx solid rgba(187, 202, 191, 0.3); color: var(--on-surface-variant); } .more-page .mc-footer-tip.data-v-5a4b0d9c { margin-top: 64rpx; text-align: center; padding: 0 var(--st-container-margin) 96rpx; font-size: 22rpx; color: rgba(108, 122, 113, 0.6); } .more-page .mc-tree-species-btn.data-v-5a4b0d9c { display: inline-flex; align-items: center; gap: 4rpx; margin-left: 8rpx; padding: 4rpx 12rpx; border-radius: 999rpx; background: rgba(0, 108, 73, 0.08); font-size: 20rpx; font-weight: 700; color: var(--primary); } .more-page .mc-water-panel.data-v-5a4b0d9c, .more-page .mc-species-panel.data-v-5a4b0d9c { width: calc(100% - 48rpx); max-width: 680rpx; margin: 0 auto; position: absolute; left: 0; right: 0; bottom: 0; max-height: 78vh; background: var(--surface); border-radius: 32rpx 32rpx 0 0; padding: 32rpx 28rpx calc(32rpx + env(safe-area-inset-bottom)); box-shadow: 0 -12rpx 40rpx rgba(15, 23, 42, 0.12); } .more-page .mc-water-panel-head.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20rpx; } .more-page .mc-water-panel-title.data-v-5a4b0d9c { font-size: 34rpx; font-weight: 800; color: var(--on-surface); } .more-page .mc-water-panel-close.data-v-5a4b0d9c { width: 56rpx; height: 56rpx; border-radius: 50%; background: var(--surface-container-low); display: flex; align-items: center; justify-content: center; font-size: 36rpx; color: var(--outline); } .more-page .mc-water-panel-summary.data-v-5a4b0d9c { display: block; font-size: 26rpx; line-height: 1.5; color: var(--on-surface-variant); margin-bottom: 24rpx; } .more-page .mc-water-panel-list.data-v-5a4b0d9c { display: flex; flex-direction: column; gap: 12rpx; margin-bottom: 20rpx; } .more-page .mc-water-panel-row.data-v-5a4b0d9c { display: flex; align-items: center; gap: 16rpx; padding: 18rpx 16rpx; border-radius: 20rpx; background: var(--surface-container-low); border: 1rpx solid rgba(0, 108, 73, 0.08); } .more-page .mc-water-panel-row.is-water.data-v-5a4b0d9c { border-color: rgba(0, 108, 73, 0.22); background: rgba(0, 108, 73, 0.06); } .more-page .mc-water-panel-row.is-claimed.data-v-5a4b0d9c { opacity: 0.72; } .more-page .mc-water-panel-row-main.data-v-5a4b0d9c { flex: 1; min-width: 0; } .more-page .mc-water-panel-row-name.data-v-5a4b0d9c { display: block; font-size: 28rpx; font-weight: 700; color: var(--on-surface); } .more-page .mc-water-panel-row-sub.data-v-5a4b0d9c { display: block; margin-top: 4rpx; font-size: 22rpx; color: var(--outline); } .more-page .mc-water-panel-row-tag.data-v-5a4b0d9c { flex-shrink: 0; font-size: 22rpx; font-weight: 700; color: var(--primary); } .more-page .mc-water-panel-row.is-pending .mc-water-panel-row-tag.data-v-5a4b0d9c { color: #b45309; } .more-page .mc-water-panel-growth.data-v-5a4b0d9c { padding: 16rpx 18rpx; border-radius: 16rpx; background: rgba(0, 108, 73, 0.06); margin-bottom: 20rpx; font-size: 24rpx; line-height: 1.45; color: var(--primary); } .more-page .mc-water-panel-actions.data-v-5a4b0d9c { display: flex; flex-direction: column; gap: 12rpx; } .more-page .mc-water-panel-btn.data-v-5a4b0d9c { width: 100%; height: 88rpx; line-height: 88rpx; border-radius: 999rpx; font-size: 28rpx; font-weight: 700; background: var(--on-surface); color: var(--surface); border: none; } .more-page .mc-water-panel-btn.primary.data-v-5a4b0d9c { background: var(--primary); color: var(--on-primary); } .more-page .mc-water-panel-btn.ghost.data-v-5a4b0d9c { background: var(--surface-container-low); color: var(--on-surface); } .more-page .mc-species-panel-tip.data-v-5a4b0d9c { display: block; font-size: 22rpx; line-height: 1.45; color: var(--outline); margin-bottom: 20rpx; } .more-page .mc-species-scroll.data-v-5a4b0d9c { max-height: 56vh; } .more-page .mc-species-card.data-v-5a4b0d9c { padding: 20rpx; border-radius: 24rpx; border: 2rpx solid rgba(0, 108, 73, 0.1); background: var(--surface-container-low); margin-bottom: 16rpx; } .more-page .mc-species-card.active.data-v-5a4b0d9c { border-color: var(--primary); background: rgba(0, 108, 73, 0.06); } .more-page .mc-species-card-head.data-v-5a4b0d9c { display: flex; align-items: center; gap: 16rpx; margin-bottom: 16rpx; } .more-page .mc-species-card-emoji.data-v-5a4b0d9c { font-size: 56rpx; line-height: 1; } .more-page .mc-species-card-name.data-v-5a4b0d9c { display: block; font-size: 30rpx; font-weight: 800; color: var(--on-surface); } .more-page .mc-species-card-tagline.data-v-5a4b0d9c { display: block; margin-top: 4rpx; font-size: 22rpx; color: var(--outline); } .more-page .mc-species-stages.data-v-5a4b0d9c { display: flex; flex-wrap: wrap; gap: 10rpx; } .more-page .mc-species-stage.data-v-5a4b0d9c { width: calc(20% - 8rpx); min-width: 96rpx; padding: 10rpx 6rpx; border-radius: 16rpx; background: rgba(255, 255, 255, 0.7); text-align: center; opacity: 0.45; } .more-page .mc-species-stage.reached.data-v-5a4b0d9c { opacity: 1; } .more-page .mc-species-stage.current.data-v-5a4b0d9c { box-shadow: 0 0 0 2rpx var(--primary); background: rgba(0, 108, 73, 0.1); } .more-page .mc-species-stage-emoji.data-v-5a4b0d9c { display: block; font-size: 32rpx; line-height: 1.1; } .more-page .mc-species-stage-lv.data-v-5a4b0d9c { display: block; font-size: 18rpx; font-weight: 700; color: var(--primary); margin-top: 4rpx; } .more-page .mc-species-stage-name.data-v-5a4b0d9c { display: block; font-size: 18rpx; color: var(--outline); margin-top: 2rpx; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /** * 日常记录统一主题 — 与甄养堂小程序 TCM Care 品牌色一致 * 来源:pages/index/index.vue · tabBar selectedColor #204e2b */ .daily-page.data-v-5a4b0d9c { /* 品牌主色 */ --primary: #204e2b; --primary-dark: #163d22; --primary-container: #386641; --primary-grad: linear-gradient(160deg, #204e2b 0%, #386641 100%); --primary-light: #eef6ef; --primary-soft: #cfe8d3; --primary-glow: rgba(32, 78, 43, 0.14); --on-primary-container: #afe2b3; --success: #386641; --success-light: #eef6ef; --danger: #dc2626; --danger-light: #fef2f2; --danger-glow: rgba(220, 38, 38, 0.1); --warning: #d97706; --warning-light: #fff7ed; --text-primary: #1b1c1a; --text-secondary: #414941; --text-muted: #727970; --surface: #ffffff; --surface-muted: #f4f4f0; --border: #e3e2df; --border-soft: rgba(32, 78, 43, 0.12); --slate-50: #faf9f5; --slate-100: #f4f4f0; --slate-200: #e9e8e4; --slate-300: #e3e2df; --slate-400: #727970; --slate-600: #414941; --slate-900: #1b1c1a; --shadow-premium: 0 8rpx 28rpx rgba(32, 78, 43, 0.06); --shadow-sm: 0 4rpx 16rpx rgba(32, 78, 43, 0.05); --shadow-glow-primary: 0 8rpx 20rpx rgba(32, 78, 43, 0.18); --shadow-glow-danger: 0 8rpx 20rpx rgba(220, 38, 38, 0.12); --border-premium: 1rpx solid var(--border-soft); background: var(--slate-50); } /* Hero:品牌绿渐变 */ .daily-page .hero-bg.data-v-5a4b0d9c { background: var(--primary-grad); } .daily-page .hero-bg.data-v-5a4b0d9c::after { background: radial-gradient(circle at 88% 12%, rgba(255, 255, 255, 0.1) 0%, transparent 55%); } .daily-page .hero-orb.data-v-5a4b0d9c { display: none; } .daily-page .hero-pill.voice.speaking.data-v-5a4b0d9c { background: rgba(255, 255, 255, 0.92); border-color: rgba(255, 255, 255, 0.95); animation: none; box-shadow: 0 0 0 3rpx rgba(255, 255, 255, 0.35); } .daily-page .hero-status-chip.pending.data-v-5a4b0d9c { background: rgba(255, 255, 255, 0.16); border-color: rgba(255, 255, 255, 0.28); } .daily-page .hero-status-chip.done.data-v-5a4b0d9c { background: rgba(255, 255, 255, 0.2); border-color: rgba(255, 255, 255, 0.32); } /* 指标卡 */ .daily-page .stat-fasting.data-v-5a4b0d9c, .daily-page .stat-postprandial.data-v-5a4b0d9c, .daily-page .stat-other.data-v-5a4b0d9c { background: var(--surface); } .daily-page .stat-fasting .stat-card-tag.data-v-5a4b0d9c, .daily-page .stat-postprandial .stat-card-tag.data-v-5a4b0d9c, .daily-page .stat-other .stat-card-tag.data-v-5a4b0d9c { background: var(--primary-light); color: var(--primary-dark); } .daily-page .stat-card-value.data-v-5a4b0d9c { background: none; background-clip: unset; color: var(--text-primary); } .daily-page .stat-card-value.is-high.data-v-5a4b0d9c { background: none; color: var(--danger); } .daily-page .stat-card-trend.trend-down.data-v-5a4b0d9c { background: var(--primary-light); } .daily-page .stat-card-trend.trend-down .stat-card-trend-arrow.data-v-5a4b0d9c, .daily-page .stat-card-trend.trend-down .stat-card-trend-delta.data-v-5a4b0d9c { color: var(--primary-dark); } .daily-page .more-entry-arrow.data-v-5a4b0d9c { color: var(--primary); } .daily-page .card-chip.active.data-v-5a4b0d9c { background: var(--primary); box-shadow: var(--shadow-glow-primary); } .daily-page .range-item.active.data-v-5a4b0d9c { background: var(--primary); box-shadow: var(--shadow-glow-primary); } .daily-page .legend-dot-fasting.data-v-5a4b0d9c { background: var(--primary); } .daily-page .legend-dot-postprandial.data-v-5a4b0d9c { background: var(--warning); } .daily-page .streak-strip.data-v-5a4b0d9c { background: var(--surface); border-color: var(--border-soft); } .daily-page .streak-strip.data-v-5a4b0d9c::after { background: radial-gradient(circle, rgba(32, 78, 43, 0.08) 0%, transparent 70%); } .daily-page .streak-num.data-v-5a4b0d9c { color: var(--primary-dark); } /* 日历:品牌绿深浅 */ .daily-page .calendar-cell.level-1 .calendar-cell-mark.data-v-5a4b0d9c, .daily-page .calendar-legend-cell.level-1.data-v-5a4b0d9c { background: var(--primary-soft); border-color: #b8dcc0; } .daily-page .calendar-cell.level-2 .calendar-cell-mark.data-v-5a4b0d9c, .daily-page .calendar-legend-cell.level-2.data-v-5a4b0d9c { background: var(--on-primary-container); border-color: #86c992; } .daily-page .calendar-cell.level-3 .calendar-cell-mark.data-v-5a4b0d9c, .daily-page .calendar-legend-cell.level-3.data-v-5a4b0d9c { background: var(--primary); border-color: var(--primary-dark); } .daily-page .day-block-tag.tag-blood.data-v-5a4b0d9c, .daily-page .day-block-tag.tag-diet.data-v-5a4b0d9c, .daily-page .day-block-tag.tag-exercise.data-v-5a4b0d9c, .daily-page .day-block-tag.tag-tracking.data-v-5a4b0d9c { background: var(--primary-light); color: var(--primary-dark); border: 1rpx solid var(--border-soft); } .daily-page .day-block-tag.tag-diet.data-v-5a4b0d9c, .daily-page .day-block-tag.tag-exercise.data-v-5a4b0d9c { background: var(--surface-muted); color: var(--text-secondary); border-color: var(--border); } .daily-page .pg-points-badge.data-v-5a4b0d9c { background: var(--primary-light); border-color: var(--border-soft); } .daily-page .pg-points-num.data-v-5a4b0d9c { color: var(--primary-dark); } .daily-page .record-quick-chip.pending.data-v-5a4b0d9c { border-color: var(--border); background: var(--surface-muted); } .daily-page .record-quick-chip.done.data-v-5a4b0d9c { border-color: rgba(56, 102, 65, 0.35); background: var(--success-light); } .daily-page .task-action-btn.pending.data-v-5a4b0d9c { background: var(--primary); } .daily-page .water-btn.data-v-5a4b0d9c { background: var(--primary); } .daily-page .family-like-strip.data-v-5a4b0d9c, .daily-page .encourage-strip.data-v-5a4b0d9c { background: var(--surface); border: 1rpx solid var(--border); box-shadow: var(--shadow-premium); } .daily-page .card-title.data-v-5a4b0d9c, .daily-page .hero-title.data-v-5a4b0d9c { color: inherit; } .daily-page .report-share-btn.data-v-5a4b0d9c, .daily-page .report-share-btn.data-v-5a4b0d9c::after { background: var(--primary); box-shadow: var(--shadow-glow-primary); } .daily-page .input-modal-btn.primary.data-v-5a4b0d9c { background: var(--primary); } .daily-page .input-field-dot-fasting.data-v-5a4b0d9c { background: var(--primary); } .daily-page .input-field-dot-postprandial.data-v-5a4b0d9c { background: var(--primary-container); } .daily-page .input-field-dot-other.data-v-5a4b0d9c { background: var(--text-muted); } .daily-page .voice-switch.on .voice-switch-track.data-v-5a4b0d9c { background: var(--primary); } .daily-page .heatmap-foot-cta.data-v-5a4b0d9c { background: var(--primary); } /* ========== 适老极简首页(index) ========== */ .daily-page .elder-header.data-v-5a4b0d9c { padding: 48rpx 32rpx 24rpx; } .daily-page .elder-greet.data-v-5a4b0d9c { display: block; font-size: 44rpx; font-weight: 700; color: var(--text-primary); line-height: 1.35; } .daily-page .elder-status.data-v-5a4b0d9c { display: block; margin-top: 16rpx; font-size: 32rpx; font-weight: 600; line-height: 1.4; } .daily-page .elder-status.is-done.data-v-5a4b0d9c { color: var(--success); } .daily-page .elder-status.is-pending.data-v-5a4b0d9c { color: var(--text-secondary); } .daily-page .elder-card-scroll.data-v-5a4b0d9c { margin-top: 24rpx; width: 100%; white-space: nowrap; } .daily-page .elder-card-row.data-v-5a4b0d9c { display: inline-flex; flex-wrap: nowrap; gap: 16rpx; padding: 2rpx 0; } .daily-page .elder-card-chip.data-v-5a4b0d9c { flex-shrink: 0; padding: 12rpx 28rpx; border-radius: 999rpx; background: var(--surface); border: 2rpx solid var(--border); } .daily-page .elder-card-chip text.data-v-5a4b0d9c { font-size: 28rpx; color: var(--text-secondary); } .daily-page .elder-card-chip.active.data-v-5a4b0d9c { background: var(--primary); border-color: var(--primary); } .daily-page .elder-card-chip.active text.data-v-5a4b0d9c { color: #fff; font-weight: 600; } .daily-page .elder-actions.data-v-5a4b0d9c { padding: 0 32rpx 24rpx; display: flex; flex-direction: row; align-items: stretch; gap: 16rpx; } .daily-page .elder-btn.data-v-5a4b0d9c { display: flex; align-items: center; justify-content: center; gap: 12rpx; min-height: 112rpx; min-width: 0; border-radius: 24rpx; box-shadow: var(--shadow-sm); box-sizing: border-box; } .daily-page .elder-btn-text.data-v-5a4b0d9c { font-size: 36rpx; font-weight: 700; } .daily-page .elder-btn-primary.data-v-5a4b0d9c { flex: 8; background: var(--primary); } .daily-page .elder-btn-primary .elder-btn-text.data-v-5a4b0d9c { color: #fff; } .daily-page .elder-btn-voice.data-v-5a4b0d9c { flex: 2; flex-direction: column; gap: 8rpx; padding: 12rpx 8rpx; background: var(--surface); border: 2rpx solid var(--border-soft); } .daily-page .elder-btn-voice .elder-btn-text.data-v-5a4b0d9c { color: var(--primary-dark); font-size: 24rpx; line-height: 1.25; text-align: center; } .daily-page .elder-btn-voice.speaking.data-v-5a4b0d9c { border-color: var(--primary); background: var(--primary-light); } .daily-page .elder-btn-voice.disabled.data-v-5a4b0d9c { opacity: 0.45; } .daily-page .elder-today-panel.data-v-5a4b0d9c { margin: 0 32rpx 24rpx; padding: 32rpx; background: var(--surface); border-radius: 24rpx; border: 1rpx solid var(--border); box-shadow: var(--shadow-premium); } .daily-page .elder-panel-title.data-v-5a4b0d9c { display: block; font-size: 34rpx; font-weight: 700; color: var(--text-primary); margin-bottom: 24rpx; } .daily-page .elder-today-grid.data-v-5a4b0d9c { display: grid; grid-template-columns: 1fr 1fr; gap: 20rpx; } .daily-page .elder-metric.data-v-5a4b0d9c { padding: 24rpx; border-radius: 20rpx; background: var(--surface-muted); border: 2rpx solid var(--border); } .daily-page .elder-metric.is-high.data-v-5a4b0d9c { border-color: rgba(220, 38, 38, 0.35); background: var(--danger-light); } .daily-page .elder-metric-label.data-v-5a4b0d9c { display: block; font-size: 28rpx; color: var(--text-secondary); margin-bottom: 12rpx; } .daily-page .elder-metric-value-row.data-v-5a4b0d9c { display: flex; align-items: baseline; gap: 8rpx; } .daily-page .elder-metric-value.data-v-5a4b0d9c { font-size: 56rpx; font-weight: 800; color: var(--text-primary); line-height: 1.1; } .daily-page .elder-metric.is-high .elder-metric-value.data-v-5a4b0d9c { color: var(--danger); } .daily-page .elder-metric-unit.data-v-5a4b0d9c { font-size: 26rpx; color: var(--text-muted); } .daily-page .elder-metric-flag.data-v-5a4b0d9c { display: block; margin-top: 12rpx; font-size: 26rpx; color: var(--danger); font-weight: 600; } .daily-page .elder-more-link.data-v-5a4b0d9c { margin: 0 32rpx 16rpx; padding: 28rpx 32rpx; display: flex; align-items: center; justify-content: space-between; background: var(--surface); border-radius: 24rpx; border: 1rpx solid var(--border); } .daily-page .elder-more-title.data-v-5a4b0d9c { display: block; font-size: 32rpx; font-weight: 700; color: var(--text-primary); } .daily-page .elder-more-sub.data-v-5a4b0d9c { display: block; margin-top: 8rpx; font-size: 26rpx; color: var(--text-muted); line-height: 1.45; } .daily-page .elder-more-arrow.data-v-5a4b0d9c { font-size: 48rpx; color: var(--primary); font-weight: 300; padding-left: 16rpx; } .daily-page .footer-tip.data-v-5a4b0d9c { text-align: center; font-size: 26rpx; color: var(--text-muted); padding: 16rpx 32rpx 48rpx; line-height: 1.6; } .daily-page .elder-chart-block .range-bar.data-v-5a4b0d9c { margin-bottom: 16rpx; } .daily-page .glucose-history-block.data-v-5a4b0d9c { padding-bottom: 8rpx; } .input-modal-ai-tip.data-v-5a4b0d9c { margin-bottom: 20rpx; padding: 20rpx; border-radius: 16rpx; background: rgba(32, 78, 43, 0.04); border: 1rpx solid rgba(32, 78, 43, 0.12); } .input-modal-ai-tip-label.data-v-5a4b0d9c { display: block; font-size: 24rpx; font-weight: 700; color: var(--primary); margin-bottom: 8rpx; } .input-modal-ai-tip-text.data-v-5a4b0d9c { display: block; font-size: 24rpx; line-height: 1.5; color: var(--primary-container); } .input-modal-ai-tip-btn.data-v-5a4b0d9c { display: inline-flex; margin-top: 12rpx; padding: 8rpx 20rpx; border-radius: 999rpx; border: 2rpx solid var(--primary); color: var(--primary); font-size: 24rpx; font-weight: 600; }