/** * 这里是uni-app内置的常用样式变量 * * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App * */ /** * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 * * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 */ /* 颜色变量 */ /* 行为相关颜色 */ /* 文字基本颜色 */ /* 背景颜色 */ /* 边框颜色 */ /* 尺寸变量 */ /* 文字尺寸 */ /* 图片尺寸 */ /* Border Radius */ /* 水平间距 */ /* 垂直间距 */ /* 透明度 */ /* 文章场景相关 */ .page-gate-loading.data-v-612eeee9 { min-height: 60vh; display: flex; align-items: center; justify-content: center; padding: 80rpx 40rpx; } .page-gate-loading-text.data-v-612eeee9 { font-size: 28rpx; color: #64748b; } .more-entry-bar.data-v-612eeee9 { margin: -72rpx 32rpx 24rpx; padding: 28rpx 32rpx; background: #ffffff; border-radius: 24rpx; box-shadow: var(--shadow-premium); border: var(--border-premium); display: flex; align-items: center; justify-content: space-between; gap: 16rpx; position: relative; z-index: 2; } .more-entry-left.data-v-612eeee9 { flex: 1; min-width: 0; } .more-entry-title.data-v-612eeee9 { display: block; font-size: 30rpx; font-weight: 600; color: #0f172a; } .more-entry-sub.data-v-612eeee9 { display: block; margin-top: 6rpx; font-size: 24rpx; color: #64748b; } .more-entry-arrow.data-v-612eeee9 { font-size: 40rpx; color: #386641; line-height: 1; } .daily-page.data-v-612eeee9 { /* 详见 ../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-612eeee9 { position: relative; padding: 60rpx 36rpx 120rpx; /* 适度增加空间,增强空气感 */ color: #ffffff; overflow: hidden; } .hero-bg.data-v-612eeee9 { position: absolute; inset: 0; background: linear-gradient(135deg, #163d22 0%, #204e2b 55%, #386641 100%); z-index: 0; } .hero-bg.data-v-612eeee9::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-612eeee9 { position: relative; z-index: 1; } .hero-row.data-v-612eeee9 { display: flex; align-items: flex-start; justify-content: space-between; gap: 12rpx; } .hero-main.data-v-612eeee9 { flex: 1; min-width: 0; padding-top: 4rpx; } .hero-title.data-v-612eeee9 { 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-612eeee9 { display: block; font-size: 30rpx; color: rgba(255, 255, 255, 0.95); margin-top: 6rpx; font-weight: 500; } .hero-pill-group.data-v-612eeee9 { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12rpx; max-width: 380rpx; } .hero-pill.data-v-612eeee9 { 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-612eeee9:active { background: rgba(255, 255, 255, 0.24); transform: scale(0.96); } .hero-pill.voice.data-v-612eeee9 { 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-612eeee9 { background: #fbbf24; border-color: #fde68a; color: var(--slate-900); animation: voice-pulse-612eeee9 1.4s ease-in-out infinite; } .hero-pill.voice.speaking .hero-pill-text.data-v-612eeee9 { color: var(--slate-900); } .hero-pill.voice.disabled.data-v-612eeee9 { opacity: 0.5; } .hero-pill.input.data-v-612eeee9 { 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-612eeee9 { color: var(--primary); font-weight: 700; } .hero-pill.input.data-v-612eeee9:active { background: var(--primary-light); } @keyframes voice-pulse-612eeee9 { 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-612eeee9 { width: 36rpx; height: 36rpx; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .hero-pill-text.data-v-612eeee9 { font-size: 32rpx; color: #ffffff; font-weight: 600; } /* === Bento 风格指标卡 === */ .stat-grid.data-v-612eeee9 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20rpx; margin: -60rpx 24rpx 0; position: relative; z-index: 3; } .stat-card.data-v-612eeee9 { 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-612eeee9:active { transform: translateY(-2rpx); box-shadow: 0 16rpx 36rpx rgba(15, 23, 42, 0.08); } .stat-fasting.data-v-612eeee9 { background: radial-gradient(circle at 100% 0%, #e6fdf9 0%, #ffffff 65%); } .stat-postprandial.data-v-612eeee9 { background: radial-gradient(circle at 100% 0%, #fff7ed 0%, #ffffff 65%); } .stat-other.data-v-612eeee9 { 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-612eeee9 { 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-612eeee9 { 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-612eeee9 { 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-612eeee9 { box-shadow: var(--shadow-glow-danger); border-color: rgba(239, 68, 68, 0.08); } .stat-card-head.data-v-612eeee9 { display: flex; align-items: center; justify-content: space-between; gap: 8rpx; } .stat-card-tag.data-v-612eeee9 { 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-612eeee9 { background: rgba(13, 148, 136, 0.09); color: #386641; } .stat-postprandial .stat-card-tag.data-v-612eeee9 { background: rgba(245, 158, 11, 0.09); color: #d97706; } .stat-other .stat-card-tag.data-v-612eeee9 { background: rgba(99, 102, 241, 0.09); color: #4f46e5; } .stat-card-tag-dot.data-v-612eeee9 { display: none; } .stat-card-tag-text.data-v-612eeee9 { font-size: 26rpx; font-weight: 700; } .stat-card-flag.data-v-612eeee9 { 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-612eeee9 { font-size: 20rpx; color: var(--danger); font-weight: 700; line-height: 1; } .stat-card-flag-text.data-v-612eeee9 { font-size: 22rpx; color: var(--danger); font-weight: 700; } .stat-card-value-row.data-v-612eeee9 { display: flex; align-items: baseline; gap: 6rpx; margin-top: 16rpx; margin-bottom: 8rpx; } .stat-card-value.data-v-612eeee9 { 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-612eeee9 { background: var(--danger-grad); -webkit-background-clip: text; background-clip: text; color: transparent; } .stat-card-unit.data-v-612eeee9 { font-size: 24rpx; color: var(--slate-600); font-weight: 600; } .stat-card-foot.data-v-612eeee9 { display: flex; align-items: center; justify-content: space-between; gap: 8rpx; margin-top: 4rpx; } .stat-card-date.data-v-612eeee9 { font-size: 24rpx; color: var(--slate-600); font-weight: 500; } .stat-card-trend.data-v-612eeee9 { 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-612eeee9 { background: rgba(239, 68, 68, 0.08); } .stat-card-trend.trend-up .stat-card-trend-arrow.data-v-612eeee9, .stat-card-trend.trend-up .stat-card-trend-delta.data-v-612eeee9 { color: var(--danger); } .stat-card-trend.trend-down.data-v-612eeee9 { background: rgba(16, 185, 129, 0.08); } .stat-card-trend.trend-down .stat-card-trend-arrow.data-v-612eeee9, .stat-card-trend.trend-down .stat-card-trend-delta.data-v-612eeee9 { color: var(--success); } .stat-card-trend.trend-flat.data-v-612eeee9 { background: var(--slate-100); } .stat-card-trend.trend-flat .stat-card-trend-arrow.data-v-612eeee9, .stat-card-trend.trend-flat .stat-card-trend-delta.data-v-612eeee9 { color: var(--slate-600); } .stat-card-trend-arrow.data-v-612eeee9 { font-size: 24rpx; font-weight: 800; line-height: 1; } .stat-card-trend-delta.data-v-612eeee9 { font-size: 24rpx; font-weight: 600; } /* === 就诊卡选择器 === */ .card-switcher.data-v-612eeee9 { 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-612eeee9 { 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-612eeee9 { font-size: 28rpx; color: var(--slate-900); font-weight: 700; } .card-switcher-count.data-v-612eeee9 { 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-612eeee9 { flex: 1; min-width: 0; white-space: nowrap; } .card-chip-row.data-v-612eeee9 { display: inline-flex; flex-wrap: nowrap; gap: 8rpx; padding: 2rpx; } .card-chip.data-v-612eeee9 { 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-612eeee9 { background: var(--primary-grad); border-color: transparent; box-shadow: var(--shadow-glow-primary); } .card-chip.active .card-chip-name.data-v-612eeee9, .card-chip.active .card-chip-meta.data-v-612eeee9 { color: #ffffff; } .card-chip.data-v-612eeee9:active { transform: scale(0.96); } .card-chip-name.data-v-612eeee9 { font-size: 28rpx; font-weight: 700; color: #1e293b; line-height: 1.1; } .card-chip-meta.data-v-612eeee9 { font-size: 24rpx; color: var(--slate-600); line-height: 1.1; } .range-bar.data-v-612eeee9 { 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-612eeee9 { 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-612eeee9 { background: var(--primary-grad); color: #ffffff; font-weight: 700; box-shadow: var(--shadow-glow-primary); } .range-item.data-v-612eeee9:active:not(.active) { background: var(--slate-100); } /* === 语音播报设置 === */ .voice-bar.data-v-612eeee9 { 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-612eeee9:active { border-color: #bae6fd; } .voice-bar-left.data-v-612eeee9 { display: flex; align-items: center; gap: 16rpx; flex: 1; min-width: 0; } .voice-bar-icon.data-v-612eeee9 { font-size: 48rpx; line-height: 1; } .voice-bar-text.data-v-612eeee9 { display: flex; flex-direction: column; gap: 4rpx; min-width: 0; } .voice-bar-title.data-v-612eeee9 { font-size: 34rpx; font-weight: 700; color: var(--slate-900); } .voice-bar-hint.data-v-612eeee9 { font-size: 26rpx; color: var(--slate-600); margin-top: 4rpx; } .voice-bar-actions.data-v-612eeee9 { display: flex; align-items: center; gap: 16rpx; flex-shrink: 0; } .voice-switch.data-v-612eeee9 { 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-612eeee9 { background: linear-gradient(135deg, #fef3c7, #fde68a); } .voice-switch-label.data-v-612eeee9 { font-size: 28rpx; color: #1e293b; font-weight: 700; } .voice-switch-track.data-v-612eeee9 { 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-612eeee9 { background: var(--warning); } .voice-switch-knob.data-v-612eeee9 { 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-612eeee9 { transform: translateX(36rpx); } .voice-toggle.data-v-612eeee9 { 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-612eeee9 { background: var(--slate-400); box-shadow: none; } .voice-toggle.data-v-612eeee9:active { transform: scale(0.95); } .voice-toggle-icon.data-v-612eeee9 { font-size: 36rpx; color: #ffffff; line-height: 1; } .card.data-v-612eeee9 { background: #ffffff; border-radius: var(--radius-card); padding: 30rpx 15rpx; box-shadow: var(--shadow-premium); animation: card-rise-612eeee9 0.45s ease-out both; } /* 动效延迟展现列表,视觉更灵动 */ .streak-strip.data-v-612eeee9 { animation: card-rise-612eeee9 0.45s ease-out 0.03s both; } .card-switcher.data-v-612eeee9 { animation: card-rise-612eeee9 0.45s ease-out 0.06s both; } .range-bar.data-v-612eeee9 { animation: card-rise-612eeee9 0.4s ease-out 0.08s both; } .voice-bar.data-v-612eeee9 { animation: card-rise-612eeee9 0.4s ease-out 0.1s both; } .chart-card.data-v-612eeee9 { animation: card-rise-612eeee9 0.5s ease-out 0.12s both; } .calendar-card.data-v-612eeee9 { animation: card-rise-612eeee9 0.5s ease-out 0.14s both; } .records-section.data-v-612eeee9 { animation: card-rise-612eeee9 0.5s ease-out 0.16s both; } @keyframes card-rise-612eeee9 { from { opacity: 0; transform: translateY(16rpx); } to { opacity: 1; transform: translateY(0); } } @keyframes stat-card-pop-612eeee9 { from { opacity: 0; transform: translateY(24rpx) scale(0.96); } to { opacity: 1; transform: translateY(0) scale(1); } } .stat-card.data-v-612eeee9 { animation: stat-card-pop-612eeee9 0.5s cubic-bezier(0.16, 1, 0.3, 1) both; } .stat-fasting.data-v-612eeee9 { animation-delay: 0.04s; } .stat-postprandial.data-v-612eeee9 { animation-delay: 0.08s; } .stat-other.data-v-612eeee9 { animation-delay: 0.12s; } .card-head.data-v-612eeee9 { display: flex; justify-content: space-between; align-items: center; } .card-title.data-v-612eeee9 { font-size: 36rpx; font-weight: 800; color: var(--slate-900); letter-spacing: 0.5rpx; } .card-subtitle.data-v-612eeee9 { display: block; font-size: 26rpx; color: var(--slate-600); margin-top: 6rpx; } .card-legend.data-v-612eeee9 { display: flex; gap: 18rpx; } .legend-item.data-v-612eeee9 { display: flex; align-items: center; gap: 8rpx; padding: 8rpx 12rpx; margin: -8rpx -12rpx; font-size: 22rpx; color: var(--slate-600); border-radius: 999rpx; transition: opacity 0.2s ease; } .legend-item.inactive.data-v-612eeee9 { opacity: 0.42; } .legend-item.inactive .legend-dot-fasting.data-v-612eeee9, .legend-item.inactive .legend-dot-postprandial.data-v-612eeee9 { background: #cbd5e1; } .legend-item.data-v-612eeee9:active { opacity: 0.72; } .legend-dot.data-v-612eeee9 { width: 16rpx; height: 16rpx; border-radius: var(--radius-pill); } .legend-dot-fasting.data-v-612eeee9 { background: var(--primary); } .legend-dot-postprandial.data-v-612eeee9 { background: var(--warning); } .chart-summary.data-v-612eeee9 { 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-612eeee9 { 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-612eeee9::before { content: ""; position: absolute; left: 0; top: 18%; bottom: 18%; width: 1rpx; background: var(--slate-200); } .chart-summary-num.data-v-612eeee9 { 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-612eeee9 { color: var(--danger); } .chart-summary-item:nth-child(2) .chart-summary-num.data-v-612eeee9 { color: var(--primary); } .chart-summary-label.data-v-612eeee9 { font-size: 24rpx; color: var(--slate-600); letter-spacing: 1rpx; font-weight: 500; margin-top: 4rpx; } .chart-canvas-wrap.data-v-612eeee9 { position: relative; width: 100%; height: 460rpx; margin-top: 22rpx; } .chart-canvas-placeholder.data-v-612eeee9 { 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-612eeee9 { width: 100%; height: 100%; display: block; position: relative; z-index: 1; } .chart-empty.data-v-612eeee9 { 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-612eeee9 { font-size: 72rpx; } .chart-empty-text.data-v-612eeee9 { font-size: 30rpx; color: var(--slate-600); font-weight: 500; } .chart-tip.data-v-612eeee9 { 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-612eeee9 { font-size: 26rpx; color: rgba(255, 255, 255, 0.9); font-weight: 600; } .chart-tip-row.data-v-612eeee9 { display: flex; align-items: center; gap: 10rpx; margin-top: 8rpx; } .chart-tip-text.data-v-612eeee9 { font-size: 28rpx; color: #ffffff; font-weight: 500; } /* === 日常记录列表样式 === */ .records-section.data-v-612eeee9 { margin: 28rpx 24rpx 0; } .records-head.data-v-612eeee9 { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20rpx; padding: 0 6rpx; } .records-count.data-v-612eeee9 { font-size: 28rpx; color: var(--slate-600); font-weight: 600; } .day-card.data-v-612eeee9 { background: #ffffff; border-radius: 28rpx; padding: 30rpx 28rpx; margin-bottom: 22rpx; box-shadow: var(--shadow-premium); border: var(--border-premium); } .day-head.data-v-612eeee9 { 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-612eeee9 { display: flex; align-items: center; gap: 10rpx; } .day-date.data-v-612eeee9 { font-size: 36rpx; font-weight: 800; color: var(--slate-900); } .day-today-pill.data-v-612eeee9 { 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-612eeee9 { display: flex; align-items: center; gap: 14rpx; } .day-weekday.data-v-612eeee9 { font-size: 26rpx; color: var(--slate-600); font-weight: 500; } .day-speak-btn.data-v-612eeee9 { 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-612eeee9 { font-size: 26rpx; color: var(--primary); } .day-speak-btn .day-speak-text.data-v-612eeee9 { font-size: 26rpx; color: var(--primary); font-weight: 700; } .day-speak-btn.data-v-612eeee9:active { background: var(--primary-glow); transform: scale(0.96); } .day-block.data-v-612eeee9 { margin-top: 18rpx; padding: 24rpx; background: var(--slate-50); border-radius: 20rpx; border: 1rpx solid var(--slate-100); } .day-block-head.data-v-612eeee9 { display: flex; align-items: center; justify-content: space-between; } .day-block-tag.data-v-612eeee9 { font-size: 24rpx; padding: 8rpx 20rpx; border-radius: var(--radius-pill); font-weight: 700; line-height: 1; } .day-block-tag.tag-blood.data-v-612eeee9 { background: var(--primary-light); color: var(--primary); border: 1rpx solid rgba(13, 148, 136, 0.15); } .day-block-tag.tag-diet.data-v-612eeee9 { background: var(--warning-light); color: #d97706; border: 1rpx solid rgba(245, 158, 11, 0.15); } .day-block-tag.tag-exercise.data-v-612eeee9 { background: var(--violet-light); color: #4f46e5; border: 1rpx solid rgba(99, 102, 241, 0.15); } .day-block-tag.tag-tracking.data-v-612eeee9 { background: var(--slate-100); color: var(--slate-600); border: 1rpx solid var(--slate-200); } .day-block-time.data-v-612eeee9 { font-size: 26rpx; color: var(--slate-600); font-weight: 500; } .metric-grid.data-v-612eeee9 { display: flex; flex-wrap: wrap; gap: 12rpx; margin-top: 14rpx; } .metric-cell.data-v-612eeee9 { 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-612eeee9 { display: flex; align-items: center; justify-content: space-between; gap: 8rpx; } .metric-label.data-v-612eeee9 { font-size: 26rpx; color: var(--slate-600); font-weight: 600; } .metric-flag.data-v-612eeee9 { 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-612eeee9 { background: var(--danger-grad); border-color: transparent; box-shadow: var(--shadow-glow-danger); } .metric-flag-icon.data-v-612eeee9 { font-size: 16rpx; color: #ffffff; font-weight: 700; line-height: 1; } .metric-flag-text.data-v-612eeee9 { font-size: 18rpx; color: #ffffff; font-weight: 600; } .metric-value-row.data-v-612eeee9 { display: flex; align-items: baseline; gap: 6rpx; margin-top: 6rpx; } .metric-value.data-v-612eeee9 { font-size: 40rpx; font-weight: 800; color: var(--slate-900); line-height: 1.1; } .metric-value.is-high.data-v-612eeee9 { color: var(--danger); } .metric-unit.data-v-612eeee9 { font-size: 24rpx; color: var(--slate-600); font-weight: 500; } .metric-trend.data-v-612eeee9 { 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-612eeee9 { background: #fef3c7; border-color: #fde68a; } .metric-trend.trend-up .metric-trend-arrow.data-v-612eeee9, .metric-trend.trend-up .metric-trend-text.data-v-612eeee9 { color: #b45309; } .metric-trend.trend-down.data-v-612eeee9 { background: #dcfce7; border-color: #bbf7d0; } .metric-trend.trend-down .metric-trend-arrow.data-v-612eeee9, .metric-trend.trend-down .metric-trend-text.data-v-612eeee9 { color: #15803d; } .metric-trend.trend-flat.data-v-612eeee9 { background: var(--slate-100); border-color: var(--slate-200); } .metric-trend.trend-flat .metric-trend-arrow.data-v-612eeee9, .metric-trend.trend-flat .metric-trend-text.data-v-612eeee9 { color: var(--slate-600); } .metric-trend-arrow.data-v-612eeee9 { font-size: 20rpx; font-weight: 700; line-height: 1; } .metric-trend-text.data-v-612eeee9 { font-size: 24rpx; font-weight: 700; } .day-meta-row.data-v-612eeee9 { display: flex; flex-wrap: wrap; gap: 10rpx; margin-top: 14rpx; } .meta-chip.data-v-612eeee9 { 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-612eeee9 { margin-top: 14rpx; font-size: 28rpx; color: var(--slate-900); line-height: 1.7; } .diet-rows.data-v-612eeee9 { margin-top: 14rpx; display: flex; flex-direction: column; gap: 10rpx; } .diet-row.data-v-612eeee9 { display: flex; gap: 10rpx; align-items: flex-start; } .diet-meal.data-v-612eeee9 { flex-shrink: 0; width: 140rpx; font-size: 28rpx; color: #b45309; font-weight: 700; } .diet-text.data-v-612eeee9 { flex: 1; font-size: 28rpx; color: var(--slate-900); line-height: 1.7; } .exercise-row.data-v-612eeee9 { display: flex; flex-wrap: wrap; align-items: center; gap: 12rpx; margin-top: 14rpx; } .exercise-type.data-v-612eeee9 { font-size: 26rpx; color: var(--slate-900); font-weight: 600; } .exercise-duration.data-v-612eeee9 { 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-612eeee9 { font-size: 24rpx; color: var(--slate-600); font-weight: 500; } .tracking-content.data-v-612eeee9 { margin-top: 12rpx; display: flex; flex-direction: column; gap: 6rpx; } .tracking-line.data-v-612eeee9 { font-size: 28rpx; color: var(--slate-900); line-height: 1.7; word-break: break-all; } .state-card.data-v-612eeee9 { 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-612eeee9 { display: block; font-size: 76rpx; margin-bottom: 16rpx; } .state-text.data-v-612eeee9 { font-size: 30rpx; color: var(--slate-600); font-weight: 500; } .footer-tip.data-v-612eeee9 { text-align: center; font-size: 24rpx; color: var(--slate-400); margin-top: 40rpx; line-height: 1.6; } /* === 顶部 Hero 漂浮小饰品 === */ .hero-orb.data-v-612eeee9 { position: absolute; border-radius: 50%; background: rgba(255, 255, 255, 0.08); pointer-events: none; filter: blur(4rpx); } .hero-orb-1.data-v-612eeee9 { width: 220rpx; height: 220rpx; top: -60rpx; right: -40rpx; background: rgba(255, 255, 255, 0.12); } .hero-orb-2.data-v-612eeee9 { width: 140rpx; height: 140rpx; top: 40rpx; right: 240rpx; background: rgba(253, 224, 71, 0.1); } .hero-orb-3.data-v-612eeee9 { width: 90rpx; height: 90rpx; bottom: 30rpx; left: 40%; background: rgba(255, 255, 255, 0.08); } .hero-greet-row.data-v-612eeee9 { display: flex; align-items: center; gap: 12rpx; margin-bottom: 6rpx; } .hero-greet-icon-wrap.data-v-612eeee9 { 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-612eeee9 { font-size: 30rpx; color: rgba(255, 255, 255, 0.95); letter-spacing: 2rpx; font-weight: 500; } .hero-subtitle-row.data-v-612eeee9 { display: flex; align-items: center; gap: 16rpx; margin-top: 10rpx; flex-wrap: wrap; } .hero-status-chip.data-v-612eeee9 { 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-612eeee9 { background: rgba(34, 197, 94, 0.25); color: #ffffff; border: 1rpx solid rgba(187, 247, 208, 0.5); } .hero-status-chip.pending.data-v-612eeee9 { background: rgba(251, 191, 36, 0.28); color: #ffffff; border: 1rpx solid rgba(253, 230, 138, 0.5); } .hero-status-icon.data-v-612eeee9 { width: 32rpx; height: 32rpx; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .hero-status-text.data-v-612eeee9 { line-height: 1.2; } /* === 打卡条 === */ .streak-strip.data-v-612eeee9 { 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-612eeee9:active { transform: scale(0.99); } .streak-strip.data-v-612eeee9::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-612eeee9 { display: flex; align-items: center; gap: 16rpx; flex-shrink: 0; } .streak-flame.data-v-612eeee9 { 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-612eeee9 { 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-612eeee9 { font-size: 52rpx; line-height: 1; } .streak-info.data-v-612eeee9 { display: flex; flex-direction: column; gap: 4rpx; } .streak-num-row.data-v-612eeee9 { display: flex; align-items: baseline; gap: 8rpx; flex-wrap: wrap; } .streak-num.data-v-612eeee9 { 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-612eeee9 { font-size: 32rpx; color: var(--slate-900); font-weight: 700; } .streak-hint.data-v-612eeee9 { 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-612eeee9 { font-size: 26rpx; color: var(--slate-600); letter-spacing: 0.5rpx; margin-top: 2rpx; } .streak-strip-right.data-v-612eeee9 { display: flex; flex-direction: column; align-items: flex-end; gap: 10rpx; flex-shrink: 0; } .streak-dots-row.data-v-612eeee9 { display: flex; gap: 12rpx; } .streak-dot.data-v-612eeee9 { display: flex; flex-direction: column; align-items: center; gap: 6rpx; } .streak-dot-label.data-v-612eeee9 { font-size: 22rpx; color: var(--slate-600); line-height: 1; font-weight: 600; } .streak-dot-mark.data-v-612eeee9 { width: 26rpx; height: 26rpx; border-radius: var(--radius-pill); background: var(--slate-200); } .streak-dot.done .streak-dot-mark.data-v-612eeee9 { background: var(--primary-grad); box-shadow: 0 2rpx 6rpx rgba(32, 78, 43, 0.3); } .streak-dot.today .streak-dot-label.data-v-612eeee9 { color: var(--slate-900); font-weight: 700; } .streak-dot.today .streak-dot-mark.data-v-612eeee9 { width: 30rpx; height: 30rpx; border: 2rpx solid var(--primary); } .streak-dot.today.done .streak-dot-mark.data-v-612eeee9 { 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-612eeee9 { font-size: 24rpx; color: var(--slate-600); letter-spacing: 1rpx; font-weight: 600; } /* === 健康月历 === */ .calendar-card.data-v-612eeee9 { margin: 22rpx 24rpx 0; } .calendar-head.data-v-612eeee9 { display: flex; align-items: flex-start; justify-content: space-between; gap: 16rpx; } .calendar-head-left.data-v-612eeee9 { flex: 1; min-width: 0; } .calendar-stat.data-v-612eeee9 { 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-612eeee9 { font-size: 48rpx; font-weight: 800; color: #386641; line-height: 1.1; letter-spacing: -1rpx; } .calendar-stat-label.data-v-612eeee9 { font-size: 22rpx; color: #0f766e; font-weight: 600; } .calendar-weekdays.data-v-612eeee9 { display: flex; margin-top: 22rpx; padding: 0 4rpx; } .calendar-weekday.data-v-612eeee9 { 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-612eeee9 { color: var(--warning); } .calendar-grid.data-v-612eeee9 { margin-top: 6rpx; background: var(--slate-50); border-radius: 20rpx; padding: 12rpx 6rpx; display: flex; flex-direction: column; gap: 6rpx; } .calendar-row.data-v-612eeee9 { display: flex; gap: 6rpx; } .calendar-cell.data-v-612eeee9 { 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-612eeee9 { background: #ffffff; border-color: var(--slate-100); } .calendar-cell.off.data-v-612eeee9 { background: transparent; opacity: 0.4; } .calendar-cell.level-1.data-v-612eeee9 { background: var(--primary-light); border-color: rgba(13, 148, 136, 0.15); } .calendar-cell.level-1 .calendar-cell-day.data-v-612eeee9 { color: var(--primary); } .calendar-cell.level-2.data-v-612eeee9 { background: #ccfbf1; border-color: #99f6e4; } .calendar-cell.level-2 .calendar-cell-day.data-v-612eeee9 { color: #0f766e; } .calendar-cell.level-3.data-v-612eeee9 { background: var(--primary-grad); box-shadow: 0 4rpx 12rpx rgba(13, 148, 136, 0.2); } .calendar-cell.level-3 .calendar-cell-day.data-v-612eeee9 { color: #ffffff; } .calendar-cell.today.data-v-612eeee9 { 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-612eeee9 { color: #ffffff; } .calendar-cell.clickable.data-v-612eeee9:active { transform: scale(0.94); } .calendar-cell-day.data-v-612eeee9 { font-size: 32rpx; color: var(--slate-900); font-weight: 700; line-height: 1; } .calendar-cell.today .calendar-cell-day.data-v-612eeee9 { color: #ffffff; font-weight: 800; transform: translateY(-6rpx); } .calendar-cell.off .calendar-cell-day.data-v-612eeee9 { color: var(--slate-400); font-weight: 500; } .calendar-cell-mark.data-v-612eeee9 { 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-612eeee9 { background: #386641; box-shadow: none; } .calendar-cell.today .calendar-cell-mark.data-v-612eeee9 { display: none; } .calendar-cell-today-tag.data-v-612eeee9 { 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-612eeee9 { margin-top: 18rpx; padding: 14rpx 6rpx 4rpx; } .calendar-legend-row.data-v-612eeee9 { display: flex; align-items: center; justify-content: space-around; gap: 8rpx; } .calendar-legend-item.data-v-612eeee9 { display: flex; align-items: center; gap: 8rpx; } .calendar-legend-cell.data-v-612eeee9 { width: 28rpx; height: 28rpx; border-radius: 8rpx; background: var(--slate-100); border: 1rpx solid var(--slate-200); } .calendar-legend-cell.level-1.data-v-612eeee9 { background: #ccfbf1; border-color: #99f6e4; } .calendar-legend-cell.level-2.data-v-612eeee9 { background: linear-gradient(135deg, #cfe8d3 0%, #afe2b3 100%); border-color: #386641; } .calendar-legend-cell.level-3.data-v-612eeee9 { background: var(--primary-grad); border-color: transparent; } .calendar-legend-cell.legend-today.data-v-612eeee9 { background: linear-gradient(135deg, #f97316 0%, #ea580c 100%); border: 2rpx solid #ffffff; box-shadow: 0 0 0 2rpx #ea580c; } .calendar-legend-text.data-v-612eeee9 { font-size: 24rpx; color: var(--slate-600); font-weight: 600; } .heatmap-foot.data-v-612eeee9 { 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-612eeee9 { font-size: 28rpx; color: #334155; font-weight: 600; } .heatmap-foot-cta.data-v-612eeee9 { 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-612eeee9:active { transform: scale(0.96); } /* === 弹窗表单(bottom sheet)=== */ .input-modal-mask.data-v-612eeee9 { 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-612eeee9 0.38s cubic-bezier(0.22, 1, 0.36, 1) both; } .input-modal.data-v-612eeee9 { width: 100%; max-width: 750rpx; background: #ffffff; border-radius: 36rpx 36rpx 0 0; padding: 16rpx 0 calc(20rpx + env(safe-area-inset-bottom)); box-shadow: 0 -12rpx 36rpx rgba(15, 23, 42, 0.12); max-height: 88vh; display: flex; flex-direction: column; animation: input-modal-rise-612eeee9 0.46s cubic-bezier(0.22, 1, 0.36, 1) both; position: relative; z-index: 1000; will-change: transform, opacity; } @keyframes input-modal-mask-in-612eeee9 { from { opacity: 0; } to { opacity: 1; } } @keyframes input-modal-rise-612eeee9 { from { transform: translate3d(0, 100%, 0); opacity: 0.96; } to { transform: translate3d(0, 0, 0); opacity: 1; } } @keyframes input-modal-content-in-612eeee9 { from { opacity: 0; transform: translate3d(0, 24rpx, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } } .input-modal-grip.data-v-612eeee9 { width: 80rpx; height: 6rpx; border-radius: var(--radius-pill); background: var(--slate-200); margin: 0 auto 8rpx; } .input-modal-head.data-v-612eeee9 { 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-612eeee9 { display: flex; flex-direction: column; gap: 4rpx; } .input-modal-title.data-v-612eeee9 { font-size: 40rpx; font-weight: 800; color: var(--slate-900); letter-spacing: 0.5rpx; } .input-modal-sub.data-v-612eeee9 { font-size: 26rpx; color: var(--slate-600); margin-top: 4rpx; } .input-modal-close.data-v-612eeee9 { 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-612eeee9:active { background: var(--slate-200); } .input-modal-close-icon.data-v-612eeee9 { font-size: 42rpx; color: var(--slate-600); line-height: 1; font-weight: 700; } .phone-gate-body.data-v-612eeee9 { padding: 32rpx; } .phone-gate-tip.data-v-612eeee9 { display: block; font-size: 28rpx; color: var(--primary-container); line-height: 1.6; margin-bottom: 24rpx; } .phone-gate-gender.data-v-612eeee9 { margin-bottom: 32rpx; } .phone-gate-gender-label.data-v-612eeee9 { display: block; font-size: 28rpx; font-weight: 700; color: var(--primary); margin-bottom: 16rpx; } .phone-gate-gender-row.data-v-612eeee9 { display: flex; gap: 20rpx; } .phone-gate-gender-opt.data-v-612eeee9 { flex: 1; min-height: 88rpx; display: flex; align-items: center; justify-content: center; border-radius: 20rpx; background: #ffffff; border: 2rpx solid rgba(32, 78, 43, 0.25); color: var(--primary-container); font-size: 32rpx; font-weight: 600; } .phone-gate-gender-opt.active.data-v-612eeee9 { border-color: var(--primary); color: var(--primary); box-shadow: inset 0 0 0 1rpx var(--primary); } .phone-gate-btn.data-v-612eeee9 { width: 100%; min-height: 96rpx; line-height: 96rpx; border-radius: 20rpx; background: #ffffff; color: var(--primary); font-size: 32rpx; font-weight: 700; border: 2rpx solid var(--primary); } .phone-gate-btn.data-v-612eeee9::after { border: none; } .input-modal-loading.data-v-612eeee9 { 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-612eeee9 { flex: 1; min-height: 520rpx; padding: 20rpx 32rpx 28rpx; overflow-y: auto; overflow-x: hidden; box-sizing: border-box; width: 100%; } .input-modal-body-ready.data-v-612eeee9 { animation: input-modal-content-in-612eeee9 0.34s cubic-bezier(0.22, 1, 0.36, 1) both; } .input-modal-tip.data-v-612eeee9 { 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; } .input-section-title.data-v-612eeee9 { font-size: 28rpx; font-weight: 700; color: #334155; letter-spacing: 1rpx; margin: 18rpx 0 14rpx; } .intensity-row.data-v-612eeee9 { display: flex; gap: 12rpx; margin-bottom: 16rpx; } .intensity-chip.data-v-612eeee9 { 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-612eeee9 { background: var(--success-light); border-color: var(--success); color: #047857; font-weight: 700; } .input-field.data-v-612eeee9 { 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-612eeee9 { 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-612eeee9 { width: 14rpx; height: 14rpx; border-radius: var(--radius-pill); background: var(--slate-400); flex-shrink: 0; } .input-field-dot-fasting.data-v-612eeee9 { background: var(--primary); } .input-field-dot-postprandial.data-v-612eeee9 { background: var(--warning); } .input-field-dot-other.data-v-612eeee9 { background: var(--violet); } .input-field-input.data-v-612eeee9 { 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-612eeee9:focus-within { border-color: var(--primary); background: #ffffff; box-shadow: 0 0 0 4rpx var(--primary-glow); } .input-field-input input.data-v-612eeee9 { 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-612eeee9 { color: var(--slate-400); font-size: 28rpx; } .input-field-row.data-v-612eeee9 { display: flex; gap: 18rpx; min-width: 0; width: 100%; box-sizing: border-box; } .input-field-half.data-v-612eeee9 { flex: 1 1 0; min-width: 0; border-bottom: 1rpx solid var(--slate-100); } .input-field-half .input-field-label.data-v-612eeee9 { width: 80rpx; flex: 0 0 auto; } .input-field-row .input-field-input.data-v-612eeee9 { padding: 16rpx 16rpx; } .input-field-row .input-field-input input.data-v-612eeee9 { font-size: 32rpx; } .input-field-textarea.data-v-612eeee9 { flex-direction: column; align-items: stretch; border-bottom: none; padding: 10rpx 0 0; } .input-field-textarea textarea.data-v-612eeee9 { 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-612eeee9:focus { border-color: var(--primary); background: #ffffff; box-shadow: 0 0 0 4rpx var(--primary-glow); } .input-modal-actions.data-v-612eeee9 { display: flex; gap: 18rpx; padding: 20rpx 32rpx 0; border-top: 1rpx solid var(--slate-100); } .input-modal-btn.data-v-612eeee9 { 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: var(--transition-smooth); } .input-modal-btn.primary.data-v-612eeee9 { background: var(--primary-grad); color: #ffffff; box-shadow: var(--shadow-glow-primary); } .input-modal-btn.primary.data-v-612eeee9:active { transform: translateY(1rpx); } .input-modal-btn.danger.data-v-612eeee9 { 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-612eeee9:active { background: #ffe4e6; } .input-modal-btn.disabled.data-v-612eeee9 { opacity: 0.5; pointer-events: none; } /* === 稳糖乐园 === */ .pg-card.data-v-612eeee9 { margin: 28rpx 24rpx 0; background: #ffffff; border-radius: 32rpx; padding: 30rpx 28rpx; box-shadow: var(--shadow-premium); border: var(--border-premium); animation: card-rise-612eeee9 0.45s ease-out 0.08s both; } .pg-card .card-head.data-v-612eeee9 { 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-612eeee9 { 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-612eeee9 { font-size: 38rpx; font-weight: 800; color: #386641; line-height: 1.1; } .pg-card .pg-points-badge .pg-points-label.data-v-612eeee9 { font-size: 20rpx; color: #0f766e; font-weight: 600; } .pg-content-stack.data-v-612eeee9 { display: flex; flex-direction: column; gap: 28rpx; margin-top: 24rpx; } .record-quick-zone.data-v-612eeee9 { display: flex; flex-direction: column; gap: 16rpx; } .record-quick-head.data-v-612eeee9 { display: flex; flex-direction: column; gap: 4rpx; padding-left: 6rpx; } .record-quick-title.data-v-612eeee9 { font-size: 28rpx; font-weight: 800; color: #334155; } .record-quick-hint.data-v-612eeee9 { font-size: 22rpx; color: var(--slate-600); font-weight: 600; } .record-quick-row.data-v-612eeee9 { display: flex; gap: 12rpx; } .record-quick-chip.data-v-612eeee9 { 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-612eeee9:active { transform: scale(0.98); } .record-quick-chip.pending.data-v-612eeee9 { border-color: rgba(13, 148, 136, 0.2); background: linear-gradient(180deg, var(--primary-light) 0%, #ffffff 100%); } .record-quick-chip.done.data-v-612eeee9 { border-color: rgba(16, 185, 129, 0.2); background: linear-gradient(180deg, var(--success-light) 0%, #ffffff 100%); } .record-quick-icon-wrap.data-v-612eeee9 { 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-612eeee9 { background: #ccfbf1; } .record-quick-chip.done .record-quick-icon-wrap.data-v-612eeee9 { background: #dcfce7; } .record-quick-label.data-v-612eeee9 { font-size: 26rpx; font-weight: 800; color: var(--slate-900); } .record-quick-status.data-v-612eeee9 { font-size: 22rpx; font-weight: 700; color: #386641; } .record-quick-chip.done .record-quick-status.data-v-612eeee9 { color: var(--success); } .tree-growth-zone.data-v-612eeee9 { 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-612eeee9 { 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-612eeee9 { 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-612eeee9 { 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-612eeee9 { font-size: 22rpx; line-height: 1; } .tree-mood-text.data-v-612eeee9 { font-size: 20rpx; font-weight: 700; color: #64748b; } .tree-next-hint.data-v-612eeee9 { display: block; margin-top: 8rpx; font-size: 22rpx; color: #0f766e; font-weight: 600; line-height: 1.45; } .tree-roadmap-scroll.data-v-612eeee9 { width: 100%; margin-top: 14rpx; white-space: nowrap; } .tree-roadmap-row.data-v-612eeee9 { display: inline-flex; gap: 10rpx; padding-bottom: 4rpx; } .tree-roadmap-node.data-v-612eeee9 { 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-612eeee9 { opacity: 0.85; background: #ecfdf5; border-color: #a7f3d0; } .tree-roadmap-node.current.data-v-612eeee9 { 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-612eeee9 { opacity: 0.4; } .tree-roadmap-emoji.data-v-612eeee9 { font-size: 26rpx; line-height: 1; } .tree-roadmap-lv.data-v-612eeee9 { font-size: 18rpx; font-weight: 700; color: #64748b; } .tree-roadmap-node.current .tree-roadmap-lv.data-v-612eeee9 { color: #0f766e; } .tree-tappable.data-v-612eeee9:active { opacity: 0.92; } .tree-tap-hint.data-v-612eeee9, .invite-tree-tap-hint.data-v-612eeee9 { margin-top: 4rpx; font-size: 20rpx; color: var(--slate-600); font-weight: 600; } .invite-tree-tappable.data-v-612eeee9 { display: flex; flex-direction: column; align-items: center; } .float-reward.data-v-612eeee9 { position: absolute; top: 8rpx; right: 0; z-index: 3; animation: float-reward-rise-612eeee9 1.1s ease-out forwards; } .float-reward text.data-v-612eeee9 { font-size: 32rpx; font-weight: 800; color: var(--success); text-shadow: 0 2rpx 8rpx rgba(5, 150, 105, 0.25); } @keyframes float-reward-rise-612eeee9 { 0% { opacity: 1; transform: translateY(0) scale(0.8); } 100% { opacity: 0; transform: translateY(-56rpx) scale(1.15); } } .mission-complete-banner.data-v-612eeee9 { 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-612eeee9 2s ease-in-out infinite; } @keyframes mission-glow-612eeee9 { 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-612eeee9 { display: block; font-size: 28rpx; font-weight: 800; color: #92400e; } .mission-complete-sub.data-v-612eeee9 { display: block; margin-top: 4rpx; font-size: 24rpx; color: #b45309; } .badge-wall.data-v-612eeee9 { margin-top: 12rpx; } .badge-wall-title.data-v-612eeee9 { display: block; font-size: 32rpx; font-weight: 800; color: #475569; margin-bottom: 16rpx; padding-left: 6rpx; } .badge-wall-scroll.data-v-612eeee9 { width: 100%; white-space: nowrap; } .badge-wall-row.data-v-612eeee9 { display: inline-flex; gap: 14rpx; padding-bottom: 8rpx; } .badge-chip.data-v-612eeee9 { 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-612eeee9 { 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-612eeee9 { font-size: 28rpx; font-weight: 700; color: #334155; white-space: nowrap; } .tree-progress-wrap.data-v-612eeee9 { flex: 1; display: flex; flex-direction: column; gap: 10rpx; min-width: 0; } .tree-level-info.data-v-612eeee9 { display: flex; justify-content: space-between; align-items: center; gap: 12rpx; } .tree-level-tag.data-v-612eeee9 { 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-612eeee9 { font-size: 28rpx; color: var(--slate-600); font-weight: 600; } .tree-progress-track.data-v-612eeee9 { height: 16rpx; background: var(--slate-200); border-radius: var(--radius-pill); overflow: hidden; } .tree-progress-bar.data-v-612eeee9 { height: 100%; background: var(--primary-grad); border-radius: var(--radius-pill); transition: width 0.4s ease; } .tree-water-action.data-v-612eeee9 { margin-top: 6rpx; display: flex; flex-direction: column; gap: 8rpx; } .water-hint.data-v-612eeee9 { font-size: 22rpx; color: var(--slate-600); font-weight: 600; text-align: center; line-height: 1.4; } .water-btn.data-v-612eeee9 { 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-612eeee9:active { transform: scale(0.98); background: linear-gradient(135deg, #386641 0%, var(--primary) 100%); } .water-btn.disabled.data-v-612eeee9 { opacity: 0.7; pointer-events: none; } .water-btn.pulse.data-v-612eeee9 { animation: water-btn-pulse-612eeee9 1.6s ease-in-out infinite; } @keyframes water-btn-pulse-612eeee9 { 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-612eeee9 { display: flex; flex-direction: column; gap: 14rpx; } .tasks-zone-title.data-v-612eeee9 { font-size: 28rpx; font-weight: 800; color: #334155; letter-spacing: 0.5rpx; padding-left: 6rpx; } .tasks-list.data-v-612eeee9 { display: flex; flex-direction: column; gap: 12rpx; } .task-row-item.data-v-612eeee9 { 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-612eeee9 { border-color: #99f6e4; background: linear-gradient(90deg, var(--primary-light) 0%, #ffffff 100%); } .task-row-item.completed.data-v-612eeee9 { border-color: #ccfbf1; background: var(--primary-light); } .task-row-item.claimed.data-v-612eeee9 { opacity: 0.92; } .task-row-item.just-done.data-v-612eeee9 { animation: task-pop-612eeee9 0.65s ease; } @keyframes task-pop-612eeee9 { 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-612eeee9 { display: flex; align-items: center; gap: 16rpx; min-width: 0; } .task-status-icon.data-v-612eeee9 { 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-612eeee9 { border-color: var(--primary); background: var(--primary); color: #ffffff; } .task-name.data-v-612eeee9 { font-size: 28rpx; font-weight: 700; color: var(--slate-900); } .task-row-item.completed .task-name.data-v-612eeee9 { color: #0f766e; } .task-right.data-v-612eeee9 { display: flex; align-items: center; gap: 16rpx; flex-shrink: 0; } .task-points.data-v-612eeee9 { font-size: 24rpx; font-weight: 600; color: var(--slate-600); } .task-row-item.completed .task-points.data-v-612eeee9 { color: var(--primary); } .task-action-btn.data-v-612eeee9 { 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-612eeee9 { background: var(--primary); color: #ffffff; box-shadow: 0 4rpx 10rpx rgba(32, 78, 43, 0.2); } .task-action-btn.pending.data-v-612eeee9:active { transform: scale(0.96); } .task-action-btn.data-v-612eeee9: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-612eeee9:not(.disabled):not(.claimed):not(.pending):active { transform: scale(0.96); } .task-action-btn.claimed.data-v-612eeee9 { background: #ccfbf1; color: #386641; } .task-action-btn.disabled.data-v-612eeee9 { opacity: 0.6; } .pg-share-row.data-v-612eeee9 { margin-top: 8rpx; } .pg-share-btn.data-v-612eeee9 { 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-612eeee9:active { opacity: 0.85; transform: translateY(1rpx); } .pg-share-icon-wrap.data-v-612eeee9 { 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-612eeee9 { display: block; font-size: 34rpx; font-weight: 800; color: #0f766e; } .pg-share-sub.data-v-612eeee9 { display: block; margin-top: 6rpx; font-size: 28rpx; color: var(--slate-600); } /* === 家人点赞及鼓励 === */ .family-like-strip.data-v-612eeee9 { 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-612eeee9 { background: linear-gradient(135deg, #fff1f2 0%, #ffffff 100%); } .family-like-strip.data-v-612eeee9:active { transform: scale(0.99); } .family-like-icon.data-v-612eeee9 { font-size: 40rpx; } .family-like-body.data-v-612eeee9 { flex: 1; min-width: 0; } .family-like-title.data-v-612eeee9 { display: block; font-size: 34rpx; font-weight: 800; color: #9f1239; } .family-like-sub.data-v-612eeee9 { display: block; margin-top: 8rpx; font-size: 30rpx; color: var(--slate-600); font-weight: 500; } .family-like-recent.data-v-612eeee9 { margin-top: 10rpx; display: flex; flex-wrap: wrap; gap: 10rpx; } .family-like-recent-item.data-v-612eeee9 { font-size: 26rpx; color: #be123c; background: #ffe4e6; padding: 6rpx 16rpx; border-radius: var(--radius-pill); font-weight: 600; } .family-like-arrow.data-v-612eeee9 { font-size: 36rpx; color: var(--slate-400); } .encourage-strip.data-v-612eeee9 { 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-612eeee9:active { background: #d1fae5; } .encourage-icon.data-v-612eeee9 { font-size: 36rpx; } .encourage-text.data-v-612eeee9 { display: block; font-size: 32rpx; font-weight: 700; color: #065f46; line-height: 1.5; } .encourage-tip.data-v-612eeee9 { display: block; margin-top: 8rpx; font-size: 28rpx; color: var(--slate-600); font-weight: 500; } /* === 共享/邀请查看样式 === */ .invite-view-wrap.data-v-612eeee9 { 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-612eeee9 { position: relative; padding: 48rpx 32rpx 56rpx; overflow: hidden; } .invite-hero-bg.data-v-612eeee9 { position: absolute; inset: 0; background: linear-gradient(145deg, #204e2b 0%, #386641 55%, #163d22 100%); } .invite-hero-content.data-v-612eeee9 { position: relative; z-index: 1; color: #ffffff; } .invite-hero-badge.data-v-612eeee9 { 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-612eeee9 { font-size: 24rpx; font-weight: 600; letter-spacing: 1rpx; } .invite-hero-title.data-v-612eeee9 { display: block; font-size: 40rpx; font-weight: 800; line-height: 1.35; color: #ffffff; } .invite-hero-sub.data-v-612eeee9 { display: block; margin-top: 10rpx; font-size: 26rpx; color: rgba(255, 255, 255, 0.92); line-height: 1.45; } .invite-hero-patient.data-v-612eeee9 { 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-612eeee9 { margin-top: -28rpx; padding: 0 24rpx 24rpx; position: relative; z-index: 2; } .invite-card.data-v-612eeee9 { 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-612eeee9, .invite-section-head.data-v-612eeee9 { display: flex; align-items: center; gap: 16rpx; margin-bottom: 16rpx; } .invite-card-icon-wrap.data-v-612eeee9 { 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-612eeee9 { background: #eef6ef; } .invite-card-icon-wrap--teal.data-v-612eeee9 { background: #eef6ef; } .invite-card-icon-wrap--green.data-v-612eeee9 { background: #ecfdf5; } .invite-card-head-text.data-v-612eeee9, .invite-section-head-text.data-v-612eeee9 { flex: 1; min-width: 0; } .invite-card-label.data-v-612eeee9 { display: block; font-size: 28rpx; font-weight: 700; color: #1b1c1a; } .invite-card-hint.data-v-612eeee9 { display: block; margin-top: 4rpx; font-size: 24rpx; color: var(--slate-600); } .invite-code-value.data-v-612eeee9 { 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-612eeee9 { display: flex; align-items: center; gap: 20rpx; margin-bottom: 20rpx; } .invite-tree-panel.data-v-612eeee9 { flex-shrink: 0; } .invite-tree-meta.data-v-612eeee9 { flex: 1; min-width: 0; } .invite-tree-title.data-v-612eeee9 { display: block; font-size: 30rpx; font-weight: 800; color: #1b1c1a; } .invite-tree-desc.data-v-612eeee9 { display: block; margin-top: 6rpx; font-size: 26rpx; color: var(--slate-600); line-height: 1.4; } .invite-tree-week.data-v-612eeee9 { display: block; margin-top: 8rpx; font-size: 22rpx; color: var(--slate-400); } .invite-stat-grid.data-v-612eeee9 { display: flex; gap: 12rpx; } .invite-stat-item.data-v-612eeee9 { 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-612eeee9 { 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-612eeee9 { display: block; font-size: 38rpx; font-weight: 800; color: #1b1c1a; line-height: 1.1; } .invite-stat-label.data-v-612eeee9 { display: block; font-size: 22rpx; color: var(--slate-600); margin-top: 6rpx; } .invite-quote-box.data-v-612eeee9 { margin-top: 16rpx; padding: 18rpx 20rpx; background: #eef6ef; border-radius: 16rpx; border-left: 6rpx solid #204e2b; } .invite-quote.data-v-612eeee9 { font-size: 26rpx; color: #1b1c1a; line-height: 1.55; } .invite-section-title.data-v-612eeee9 { display: block; font-size: 30rpx; font-weight: 800; color: #1b1c1a; } .invite-section-sub.data-v-612eeee9 { display: block; margin-top: 4rpx; font-size: 24rpx; color: var(--slate-600); } .invite-records-empty.data-v-612eeee9 { 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-612eeee9 { display: flex; flex-direction: column; gap: 0; } .invite-day-row.data-v-612eeee9 { display: flex; gap: 16rpx; } .invite-day-row.is-empty .invite-day-panel.data-v-612eeee9 { opacity: 0.85; } .invite-day-rail.data-v-612eeee9 { width: 28rpx; display: flex; flex-direction: column; align-items: center; flex-shrink: 0; padding-top: 8rpx; } .invite-day-dot.data-v-612eeee9 { 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-612eeee9 { background: #204e2b; box-shadow: 0 0 0 2rpx #b8dcc0; } .invite-day-line.data-v-612eeee9 { flex: 1; width: 2rpx; min-height: 24rpx; margin: 6rpx 0; background: linear-gradient(180deg, #cbd5e1, #e2e8f0); } .invite-day-panel.data-v-612eeee9 { flex: 1; min-width: 0; padding: 0 0 20rpx; } .invite-day-head.data-v-612eeee9 { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 12rpx; } .invite-day-date.data-v-612eeee9 { font-size: 30rpx; font-weight: 800; color: var(--slate-900); } .invite-day-week.data-v-612eeee9 { font-size: 24rpx; color: var(--slate-600); } .invite-metric-grid.data-v-612eeee9 { display: flex; flex-wrap: wrap; gap: 10rpx; } .invite-metric-chip.data-v-612eeee9 { 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-612eeee9 { display: block; font-size: 22rpx; font-weight: 600; color: var(--slate-600); margin-bottom: 6rpx; } .invite-metric-value-row.data-v-612eeee9 { display: flex; align-items: baseline; gap: 6rpx; flex-wrap: wrap; } .invite-metric-value.data-v-612eeee9 { font-size: 34rpx; font-weight: 800; color: #204e2b; line-height: 1.2; } .invite-metric-value.is-high.data-v-612eeee9 { color: var(--danger); } .invite-metric-unit.data-v-612eeee9 { font-size: 22rpx; color: var(--slate-600); } .invite-metric-flag.data-v-612eeee9 { 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-612eeee9 { 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-612eeee9 { display: flex; flex-wrap: wrap; gap: 12rpx; margin-bottom: 20rpx; } .invite-nickname-chip.data-v-612eeee9 { 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-612eeee9:active { opacity: 0.88; } .invite-nickname-chip.active.data-v-612eeee9 { background: var(--success); border-color: var(--success); color: #ffffff; font-weight: 700; } .invite-like-btn.data-v-612eeee9 { 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-612eeee9:active { transform: scale(0.98); opacity: 0.92; } .invite-like-btn.done.data-v-612eeee9 { background: var(--success-light); color: var(--success); border: 2rpx solid #a7f3d0; box-shadow: none; } .invite-like-btn.loading.data-v-612eeee9 { opacity: 0.72; } .invite-like-btn.burst.data-v-612eeee9 { animation: invite-heart-burst-612eeee9 0.85s ease; } @keyframes invite-heart-burst-612eeee9 { 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-612eeee9 { display: flex; align-items: flex-start; justify-content: center; gap: 10rpx; padding: 8rpx 12rpx 0; } .invite-disclaimer.data-v-612eeee9 { flex: 1; font-size: 22rpx; color: var(--slate-600); line-height: 1.5; text-align: left; } .invite-skeleton-wrap.data-v-612eeee9 { padding: 0 24rpx; margin-top: -28rpx; } .invite-skeleton-card.data-v-612eeee9 { 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-612eeee9 1.2s ease-in-out infinite; } .invite-skeleton-short.data-v-612eeee9 { height: 120rpx; } .invite-skeleton-tall.data-v-612eeee9 { height: 320rpx; } @keyframes invite-shimmer-612eeee9 { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } .invite-error-card.data-v-612eeee9 { 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-612eeee9 { 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-612eeee9 { display: block; font-size: 32rpx; font-weight: 800; color: #1b1c1a; margin-bottom: 10rpx; } .invite-error-text.data-v-612eeee9 { font-size: 26rpx; color: var(--slate-600); line-height: 1.5; } /* === 战报弹层 === */ .report-mask.data-v-612eeee9 { 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-612eeee9 { 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-612eeee9 { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20rpx; } .report-panel-title.data-v-612eeee9 { font-size: 34rpx; font-weight: 800; color: var(--slate-900); } .report-panel-close.data-v-612eeee9 { font-size: 44rpx; color: var(--slate-400); padding: 0 8rpx; } .report-poster.data-v-612eeee9 { 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-612eeee9 { display: flex; align-items: center; gap: 16rpx; margin-bottom: 12rpx; } .report-poster-name.data-v-612eeee9 { font-size: 32rpx; font-weight: 700; color: var(--slate-900); } .report-poster-week.data-v-612eeee9 { display: block; font-size: 24rpx; color: var(--slate-600); margin-bottom: 16rpx; } .report-stat-grid.data-v-612eeee9 { display: flex; gap: 12rpx; margin-bottom: 16rpx; } .report-stat-item.data-v-612eeee9 { flex: 1; text-align: center; padding: 14rpx 8rpx; background: #ffffff; border-radius: 16rpx; border: 1rpx solid var(--slate-100); } .report-stat-num.data-v-612eeee9 { display: block; font-size: 34rpx; font-weight: 800; color: var(--success); } .report-stat-label.data-v-612eeee9 { display: block; font-size: 22rpx; color: var(--slate-600); } .report-poster-quote.data-v-612eeee9 { display: block; font-size: 26rpx; color: #334155; line-height: 1.5; } .report-poster-disclaimer.data-v-612eeee9 { display: block; margin-top: 12rpx; font-size: 22rpx; color: var(--slate-400); } .report-actions.data-v-612eeee9 { margin-top: 24rpx; display: flex; flex-direction: column; gap: 12rpx; } .report-share-btn.data-v-612eeee9 { 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-612eeee9 { height: 72rpx; display: flex; align-items: center; justify-content: center; color: var(--slate-600); font-size: 28rpx; } .daily-page.is-invite-viewer.data-v-612eeee9 { background: var(--primary-light, #eef6ef); padding-bottom: 0; } /** * 日常记录统一主题 — 与甄养堂小程序 TCM Care 品牌色一致 * 来源:pages/index/index.vue · tabBar selectedColor #204e2b */ .daily-page.data-v-612eeee9 { /* 品牌主色 */ --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-612eeee9 { background: var(--primary-grad); } .daily-page .hero-bg.data-v-612eeee9::after { background: radial-gradient(circle at 88% 12%, rgba(255, 255, 255, 0.1) 0%, transparent 55%); } .daily-page .hero-orb.data-v-612eeee9 { display: none; } .daily-page .hero-pill.voice.speaking.data-v-612eeee9 { 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-612eeee9 { background: rgba(255, 255, 255, 0.16); border-color: rgba(255, 255, 255, 0.28); } .daily-page .hero-status-chip.done.data-v-612eeee9 { background: rgba(255, 255, 255, 0.2); border-color: rgba(255, 255, 255, 0.32); } /* 指标卡 */ .daily-page .stat-fasting.data-v-612eeee9, .daily-page .stat-postprandial.data-v-612eeee9, .daily-page .stat-other.data-v-612eeee9 { background: var(--surface); } .daily-page .stat-fasting .stat-card-tag.data-v-612eeee9, .daily-page .stat-postprandial .stat-card-tag.data-v-612eeee9, .daily-page .stat-other .stat-card-tag.data-v-612eeee9 { background: var(--primary-light); color: var(--primary-dark); } .daily-page .stat-card-value.data-v-612eeee9 { background: none; background-clip: unset; color: var(--text-primary); } .daily-page .stat-card-value.is-high.data-v-612eeee9 { background: none; color: var(--danger); } .daily-page .stat-card-trend.trend-down.data-v-612eeee9 { background: var(--primary-light); } .daily-page .stat-card-trend.trend-down .stat-card-trend-arrow.data-v-612eeee9, .daily-page .stat-card-trend.trend-down .stat-card-trend-delta.data-v-612eeee9 { color: var(--primary-dark); } .daily-page .more-entry-arrow.data-v-612eeee9 { color: var(--primary); } .daily-page .card-chip.active.data-v-612eeee9 { background: var(--primary); box-shadow: var(--shadow-glow-primary); } .daily-page .range-item.active.data-v-612eeee9 { background: var(--primary); box-shadow: var(--shadow-glow-primary); } .daily-page .legend-dot-fasting.data-v-612eeee9 { background: var(--primary); } .daily-page .legend-dot-postprandial.data-v-612eeee9 { background: var(--warning); } .daily-page .streak-strip.data-v-612eeee9 { background: var(--surface); border-color: var(--border-soft); } .daily-page .streak-strip.data-v-612eeee9::after { background: radial-gradient(circle, rgba(32, 78, 43, 0.08) 0%, transparent 70%); } .daily-page .streak-num.data-v-612eeee9 { color: var(--primary-dark); } /* 日历:品牌绿深浅 */ .daily-page .calendar-cell.level-1 .calendar-cell-mark.data-v-612eeee9, .daily-page .calendar-legend-cell.level-1.data-v-612eeee9 { background: var(--primary-soft); border-color: #b8dcc0; } .daily-page .calendar-cell.level-2 .calendar-cell-mark.data-v-612eeee9, .daily-page .calendar-legend-cell.level-2.data-v-612eeee9 { background: var(--on-primary-container); border-color: #86c992; } .daily-page .calendar-cell.level-3 .calendar-cell-mark.data-v-612eeee9, .daily-page .calendar-legend-cell.level-3.data-v-612eeee9 { background: var(--primary); border-color: var(--primary-dark); } .daily-page .day-block-tag.tag-blood.data-v-612eeee9, .daily-page .day-block-tag.tag-diet.data-v-612eeee9, .daily-page .day-block-tag.tag-exercise.data-v-612eeee9, .daily-page .day-block-tag.tag-tracking.data-v-612eeee9 { background: var(--primary-light); color: var(--primary-dark); border: 1rpx solid var(--border-soft); } .daily-page .day-block-tag.tag-diet.data-v-612eeee9, .daily-page .day-block-tag.tag-exercise.data-v-612eeee9 { background: var(--surface-muted); color: var(--text-secondary); border-color: var(--border); } .daily-page .pg-points-badge.data-v-612eeee9 { background: var(--primary-light); border-color: var(--border-soft); } .daily-page .pg-points-num.data-v-612eeee9 { color: var(--primary-dark); } .daily-page .record-quick-chip.pending.data-v-612eeee9 { border-color: var(--border); background: var(--surface-muted); } .daily-page .record-quick-chip.done.data-v-612eeee9 { border-color: rgba(56, 102, 65, 0.35); background: var(--success-light); } .daily-page .task-action-btn.pending.data-v-612eeee9 { background: var(--primary); } .daily-page .water-btn.data-v-612eeee9 { background: var(--primary); } .daily-page .family-like-strip.data-v-612eeee9, .daily-page .encourage-strip.data-v-612eeee9 { background: var(--surface); border: 1rpx solid var(--border); box-shadow: var(--shadow-premium); } .daily-page .card-title.data-v-612eeee9, .daily-page .hero-title.data-v-612eeee9 { color: inherit; } .daily-page .report-share-btn.data-v-612eeee9, .daily-page .report-share-btn.data-v-612eeee9::after { background: var(--primary); box-shadow: var(--shadow-glow-primary); } .daily-page .input-modal-btn.primary.data-v-612eeee9 { background: var(--primary); } .daily-page .input-field-dot-fasting.data-v-612eeee9 { background: var(--primary); } .daily-page .input-field-dot-postprandial.data-v-612eeee9 { background: var(--primary-container); } .daily-page .input-field-dot-other.data-v-612eeee9 { background: var(--text-muted); } .daily-page .voice-switch.on .voice-switch-track.data-v-612eeee9 { background: var(--primary); } .daily-page .heatmap-foot-cta.data-v-612eeee9 { background: var(--primary); } /* ========== 适老极简首页(index) ========== */ .daily-page .elder-header.data-v-612eeee9 { padding: 48rpx 32rpx 24rpx; } .daily-page .elder-greet.data-v-612eeee9 { display: block; font-size: 44rpx; font-weight: 700; color: var(--text-primary); line-height: 1.35; } .daily-page .elder-status.data-v-612eeee9 { display: block; margin-top: 16rpx; font-size: 32rpx; font-weight: 600; line-height: 1.4; } .daily-page .elder-status.is-done.data-v-612eeee9 { color: var(--success); } .daily-page .elder-status.is-pending.data-v-612eeee9 { color: var(--text-secondary); } .daily-page .elder-card-scroll.data-v-612eeee9 { margin-top: 24rpx; width: 100%; white-space: nowrap; } .daily-page .elder-card-row.data-v-612eeee9 { display: inline-flex; flex-wrap: nowrap; gap: 16rpx; padding: 2rpx 0; } .daily-page .elder-card-chip.data-v-612eeee9 { 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-612eeee9 { font-size: 28rpx; color: var(--text-secondary); } .daily-page .elder-card-chip.active.data-v-612eeee9 { background: var(--primary); border-color: var(--primary); } .daily-page .elder-card-chip.active text.data-v-612eeee9 { color: #fff; font-weight: 600; } .daily-page .elder-actions.data-v-612eeee9 { padding: 0 32rpx 24rpx; display: flex; flex-direction: row; align-items: stretch; gap: 16rpx; } .daily-page .elder-btn.data-v-612eeee9 { 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-612eeee9 { font-size: 36rpx; font-weight: 700; } .daily-page .elder-btn-primary.data-v-612eeee9 { flex: 8; background: var(--primary); } .daily-page .elder-btn-primary .elder-btn-text.data-v-612eeee9 { color: #fff; } .daily-page .elder-btn-voice.data-v-612eeee9 { 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-612eeee9 { color: var(--primary-dark); font-size: 24rpx; line-height: 1.25; text-align: center; } .daily-page .elder-btn-voice.speaking.data-v-612eeee9 { border-color: var(--primary); background: var(--primary-light); } .daily-page .elder-btn-voice.disabled.data-v-612eeee9 { opacity: 0.45; } .daily-page .elder-today-panel.data-v-612eeee9 { 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-612eeee9 { display: block; font-size: 34rpx; font-weight: 700; color: var(--text-primary); margin-bottom: 24rpx; } .daily-page .elder-today-grid.data-v-612eeee9 { display: grid; grid-template-columns: 1fr 1fr; gap: 20rpx; } .daily-page .elder-metric.data-v-612eeee9 { padding: 24rpx; border-radius: 20rpx; background: var(--surface-muted); border: 2rpx solid var(--border); } .daily-page .elder-metric.is-high.data-v-612eeee9 { border-color: rgba(220, 38, 38, 0.35); background: var(--danger-light); } .daily-page .elder-metric-label.data-v-612eeee9 { display: block; font-size: 28rpx; color: var(--text-secondary); margin-bottom: 12rpx; } .daily-page .elder-metric-value-row.data-v-612eeee9 { display: flex; align-items: baseline; gap: 8rpx; } .daily-page .elder-metric-value.data-v-612eeee9 { 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-612eeee9 { color: var(--danger); } .daily-page .elder-metric-unit.data-v-612eeee9 { font-size: 26rpx; color: var(--text-muted); } .daily-page .elder-metric-flag.data-v-612eeee9 { display: block; margin-top: 12rpx; font-size: 26rpx; color: var(--danger); font-weight: 600; } .daily-page .elder-more-link.data-v-612eeee9 { 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-612eeee9 { display: block; font-size: 32rpx; font-weight: 700; color: var(--text-primary); } .daily-page .elder-more-sub.data-v-612eeee9 { display: block; margin-top: 8rpx; font-size: 26rpx; color: var(--text-muted); line-height: 1.45; } .daily-page .elder-more-arrow.data-v-612eeee9 { font-size: 48rpx; color: var(--primary); font-weight: 300; padding-left: 16rpx; } .daily-page .footer-tip.data-v-612eeee9 { 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-612eeee9 { margin-bottom: 16rpx; } .daily-page .glucose-history-block.data-v-612eeee9 { padding-bottom: 8rpx; } .ai-diet-card.data-v-612eeee9 { margin: 28rpx 24rpx 0; padding: 0; overflow: hidden; border-radius: 34rpx; border: none; background: #ffffff; box-shadow: 0 18rpx 48rpx rgba(14, 138, 138, 0.14), 0 6rpx 16rpx rgba(32, 78, 43, 0.06); } /* ===== Hero:清新极光渐变 ===== */ .ai-diet-hero.data-v-612eeee9 { position: relative; overflow: hidden; padding: 32rpx 26rpx; background: linear-gradient(135deg, #1f6f4a 0%, #0d8a82 58%, #14b8a6 100%); } .ai-diet-hero-aurora.data-v-612eeee9 { position: absolute; top: 0; left: 0; right: 0; bottom: 0; pointer-events: none; } .ai-diet-blob.data-v-612eeee9 { position: absolute; border-radius: 50%; opacity: 0.6; } .ai-diet-blob-1.data-v-612eeee9 { width: 280rpx; height: 280rpx; top: -120rpx; right: -60rpx; background: radial-gradient(circle, rgba(94, 234, 212, 0.9) 0%, rgba(94, 234, 212, 0) 70%); animation: ai-diet-float-612eeee9 7s ease-in-out infinite; } .ai-diet-blob-2.data-v-612eeee9 { width: 220rpx; height: 220rpx; bottom: -110rpx; left: -50rpx; background: radial-gradient(circle, rgba(165, 243, 252, 0.8) 0%, rgba(165, 243, 252, 0) 70%); animation: ai-diet-float-612eeee9 9s ease-in-out infinite reverse; } .ai-diet-blob-3.data-v-612eeee9 { width: 170rpx; height: 170rpx; top: 6rpx; left: 42%; background: radial-gradient(circle, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0) 70%); animation: ai-diet-float-612eeee9 11s ease-in-out infinite; } @keyframes ai-diet-float-612eeee9 { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(-16rpx, 16rpx); } } .ai-diet-hero-content.data-v-612eeee9 { position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; gap: 16rpx; } .ai-diet-hero-main.data-v-612eeee9 { display: flex; align-items: center; gap: 18rpx; flex: 1; min-width: 0; } .ai-diet-hero-icon.data-v-612eeee9 { position: relative; flex-shrink: 0; width: 80rpx; height: 80rpx; display: flex; align-items: center; justify-content: center; border-radius: 24rpx; background: rgba(255, 255, 255, 0.2); border: 1rpx solid rgba(255, 255, 255, 0.4); box-shadow: 0 8rpx 22rpx rgba(0, 0, 0, 0.14), inset 0 1rpx 0 rgba(255, 255, 255, 0.4); } .ai-diet-hero-icon-ring.data-v-612eeee9 { position: absolute; top: -8rpx; left: -8rpx; right: -8rpx; bottom: -8rpx; border-radius: 30rpx; border: 3rpx solid rgba(255, 255, 255, 0.5); opacity: 0; } .ai-diet-hero-icon.thinking .ai-diet-hero-icon-ring.data-v-612eeee9 { animation: ai-diet-ring-612eeee9 1.6s ease-out infinite; } @keyframes ai-diet-ring-612eeee9 { 0% { opacity: 0.7; transform: scale(0.82); } 100% { opacity: 0; transform: scale(1.28); } } .ai-diet-hero-copy.data-v-612eeee9 { flex: 1; min-width: 0; } .ai-diet-hero-titles.data-v-612eeee9 { display: flex; align-items: center; gap: 12rpx; flex-wrap: wrap; } .ai-diet-title.data-v-612eeee9 { font-size: 38rpx; font-weight: 800; color: #ffffff; letter-spacing: 1rpx; line-height: 1.25; text-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.12); } .ai-diet-badge.data-v-612eeee9 { display: flex; align-items: center; gap: 7rpx; padding: 5rpx 16rpx; border-radius: 999rpx; background: rgba(255, 255, 255, 0.22); border: 1rpx solid rgba(255, 255, 255, 0.4); } .ai-diet-badge text.data-v-612eeee9 { font-size: 20rpx; font-weight: 700; color: #ffffff; letter-spacing: 0.5rpx; } .ai-diet-badge-dot.data-v-612eeee9 { width: 12rpx; height: 12rpx; border-radius: 50%; background: #a7f3d0; box-shadow: 0 0 10rpx #6ee7b7; animation: ai-diet-pulse-612eeee9 1.4s ease-in-out infinite; } @keyframes ai-diet-pulse-612eeee9 { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.35; transform: scale(0.7); } } .ai-diet-sub.data-v-612eeee9 { display: block; margin-top: 12rpx; font-size: 24rpx; line-height: 1.5; color: rgba(255, 255, 255, 0.88); } .ai-diet-refresh.data-v-612eeee9 { flex-shrink: 0; display: flex; align-items: center; gap: 8rpx; min-height: 60rpx; padding: 0 22rpx; border-radius: 999rpx; background: rgba(255, 255, 255, 0.22); border: 1rpx solid rgba(255, 255, 255, 0.42); color: #ffffff; font-size: 24rpx; font-weight: 700; box-shadow: 0 4rpx 14rpx rgba(0, 0, 0, 0.1); transition: opacity 0.2s ease, background 0.2s ease; } .ai-diet-refresh.disabled.data-v-612eeee9 { opacity: 0.6; } @media (prefers-reduced-motion: reduce) { .ai-diet-blob.data-v-612eeee9, .ai-diet-hero-icon.thinking .ai-diet-hero-icon-ring.data-v-612eeee9, .ai-diet-badge-dot.data-v-612eeee9 { animation: none; } } /* ===== 建议依据:近7天 / 近30天 血糖回顾 ===== */ .ai-diet-analysis.data-v-612eeee9 { padding: 22rpx 24rpx 24rpx; background: linear-gradient(180deg, #ffffff 0%, #f6fbf7 100%); border-top: 1rpx solid var(--border-soft); } .ai-diet-analysis-head.data-v-612eeee9 { display: flex; align-items: center; gap: 8rpx; margin-bottom: 18rpx; } .ai-diet-analysis-title.data-v-612eeee9 { font-size: 26rpx; font-weight: 700; color: var(--primary-container); letter-spacing: 0.5rpx; } .ai-diet-analysis-grid.data-v-612eeee9 { display: flex; gap: 16rpx; } .ai-diet-analysis-col.data-v-612eeee9 { flex: 1; min-width: 0; padding: 20rpx 18rpx; border-radius: 20rpx; background: var(--surface); border: 1rpx solid var(--border-soft); box-shadow: 0 2rpx 10rpx rgba(32, 78, 43, 0.04); } .ai-diet-analysis-range.data-v-612eeee9 { display: block; font-size: 24rpx; font-weight: 700; color: var(--text-secondary); margin-bottom: 14rpx; } .ai-diet-analysis-rate.data-v-612eeee9 { display: flex; align-items: flex-end; gap: 10rpx; padding-bottom: 14rpx; margin-bottom: 14rpx; border-bottom: 1rpx dashed var(--border-soft); } .ai-diet-analysis-rate-val.data-v-612eeee9 { display: flex; align-items: baseline; } .ai-diet-analysis-rate-num.data-v-612eeee9 { font-size: 56rpx; font-weight: 800; line-height: 1; color: var(--primary); } .ai-diet-analysis-rate-pct.data-v-612eeee9 { font-size: 26rpx; font-weight: 700; color: var(--primary); margin-left: 2rpx; } .ai-diet-analysis-rate-label.data-v-612eeee9 { font-size: 24rpx; color: var(--text-muted); padding-bottom: 6rpx; } .ai-diet-analysis-rate.rate-good .ai-diet-analysis-rate-num.data-v-612eeee9, .ai-diet-analysis-rate.rate-good .ai-diet-analysis-rate-pct.data-v-612eeee9 { color: var(--success); } .ai-diet-analysis-rate.rate-mid .ai-diet-analysis-rate-num.data-v-612eeee9, .ai-diet-analysis-rate.rate-mid .ai-diet-analysis-rate-pct.data-v-612eeee9 { color: var(--warning); } .ai-diet-analysis-rate.rate-low .ai-diet-analysis-rate-num.data-v-612eeee9, .ai-diet-analysis-rate.rate-low .ai-diet-analysis-rate-pct.data-v-612eeee9 { color: var(--danger); } .ai-diet-analysis-metrics.data-v-612eeee9 { display: flex; justify-content: space-between; gap: 8rpx; } .ai-diet-analysis-metric.data-v-612eeee9 { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6rpx; } .ai-diet-analysis-m-label.data-v-612eeee9 { font-size: 22rpx; color: var(--text-muted); } .ai-diet-analysis-m-value.data-v-612eeee9 { font-size: 30rpx; font-weight: 700; color: var(--text-primary); line-height: 1.1; } .ai-diet-analysis-m-value.is-warn.data-v-612eeee9 { color: var(--danger); } .ai-diet-analysis-m-unit.data-v-612eeee9 { font-size: 20rpx; font-weight: 600; color: var(--text-muted); margin-left: 2rpx; } .ai-diet-analysis-days.data-v-612eeee9 { display: block; margin-top: 14rpx; font-size: 22rpx; color: var(--text-muted); } .ai-diet-analysis-empty.data-v-612eeee9 { display: flex; align-items: center; gap: 8rpx; padding: 18rpx 0; font-size: 24rpx; color: var(--text-muted); } /* ===== 今日三餐分组标题 ===== */ .ai-diet-section-head.data-v-612eeee9 { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14rpx; } .ai-diet-section-title.data-v-612eeee9 { position: relative; padding-left: 20rpx; font-size: 28rpx; font-weight: 800; color: var(--text-primary); letter-spacing: 0.5rpx; } .ai-diet-section-title.data-v-612eeee9::before { content: ""; position: absolute; left: 0; top: 4rpx; bottom: 4rpx; width: 8rpx; border-radius: 8rpx; background: linear-gradient(180deg, #10b981 0%, #14b8a6 100%); } .ai-diet-section-tag.data-v-612eeee9 { font-size: 22rpx; font-weight: 600; color: var(--primary-container); padding: 4rpx 16rpx; border-radius: 999rpx; background: var(--primary-light); } .ai-diet-skeleton.data-v-612eeee9 { padding: 24rpx; } .ai-diet-skeleton-row.data-v-612eeee9 { display: flex; flex-wrap: wrap; align-items: center; gap: 12rpx; margin-bottom: 20rpx; } .ai-diet-skeleton-tag.data-v-612eeee9 { width: 88rpx; height: 40rpx; border-radius: 12rpx; background: linear-gradient(90deg, var(--slate-100) 25%, var(--slate-200) 50%, var(--slate-100) 75%); background-size: 200% 100%; animation: ai-diet-shimmer-612eeee9 1.2s ease-in-out infinite; } .ai-diet-skeleton-line.data-v-612eeee9 { flex: 1; min-width: 60%; height: 28rpx; border-radius: 8rpx; background: linear-gradient(90deg, var(--slate-100) 25%, var(--slate-200) 50%, var(--slate-100) 75%); background-size: 200% 100%; animation: ai-diet-shimmer-612eeee9 1.2s ease-in-out infinite; } .ai-diet-skeleton-line.short.data-v-612eeee9 { flex-basis: 100%; min-width: 40%; max-width: 72%; animation-delay: 0.15s; } .ai-diet-skeleton-hint.data-v-612eeee9 { display: block; margin-top: 8rpx; text-align: center; font-size: 26rpx; color: var(--primary-container); } @keyframes ai-diet-shimmer-612eeee9 { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } } @media (prefers-reduced-motion: reduce) { .ai-diet-skeleton-tag.data-v-612eeee9, .ai-diet-skeleton-line.data-v-612eeee9 { animation: none; background: var(--slate-100); } } .ai-diet-body.data-v-612eeee9 { padding: 20rpx 24rpx 8rpx; } .ai-diet-body.is-streaming .ai-diet-meal-text.data-v-612eeee9 { transition: color 0.15s ease; } .ai-diet-meal-list.data-v-612eeee9 { display: flex; flex-direction: column; gap: 12rpx; } .ai-diet-meal-card.data-v-612eeee9 { position: relative; padding: 22rpx 22rpx 22rpx 26rpx; border-radius: 22rpx; background: var(--surface); border: 1rpx solid var(--border-soft); overflow: hidden; } .ai-diet-meal-card.data-v-612eeee9::before { content: ""; position: absolute; top: 0; left: 0; bottom: 0; width: 8rpx; border-radius: 8rpx; } .ai-diet-meal-card.meal-breakfast.data-v-612eeee9 { background: linear-gradient(120deg, rgba(251, 191, 36, 0.14) 0%, rgba(255, 255, 255, 0) 45%); } .ai-diet-meal-card.meal-breakfast.data-v-612eeee9::before { background: linear-gradient(180deg, #fbbf24 0%, #f59e0b 100%); } .ai-diet-meal-card.meal-drinks.data-v-612eeee9 { background: linear-gradient(120deg, rgba(14, 165, 233, 0.14) 0%, rgba(255, 255, 255, 0) 45%); } .ai-diet-meal-card.meal-drinks.data-v-612eeee9::before { background: linear-gradient(180deg, #38bdf8 0%, #0ea5e9 100%); } .ai-diet-meal-card.meal-lunch.data-v-612eeee9 { background: linear-gradient(120deg, rgba(16, 185, 129, 0.16) 0%, rgba(255, 255, 255, 0) 45%); } .ai-diet-meal-card.meal-lunch.data-v-612eeee9::before { background: linear-gradient(180deg, #10b981 0%, #0d8a82 100%); } .ai-diet-meal-card.meal-dinner.data-v-612eeee9 { background: linear-gradient(120deg, rgba(99, 102, 241, 0.14) 0%, rgba(255, 255, 255, 0) 45%); } .ai-diet-meal-card.meal-dinner.data-v-612eeee9::before { background: linear-gradient(180deg, #818cf8 0%, #6366f1 100%); } .ai-diet-meal-head.data-v-612eeee9 { display: flex; align-items: center; gap: 12rpx; margin-bottom: 12rpx; } .ai-diet-meal-icon.data-v-612eeee9 { width: 48rpx; height: 48rpx; display: flex; align-items: center; justify-content: center; border-radius: 14rpx; box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.08); } .meal-breakfast .ai-diet-meal-icon.data-v-612eeee9 { background: linear-gradient(150deg, #fde68a 0%, #fbbf24 100%); } .meal-drinks .ai-diet-meal-icon.data-v-612eeee9 { background: linear-gradient(150deg, #7dd3fc 0%, #0ea5e9 100%); } .meal-lunch .ai-diet-meal-icon.data-v-612eeee9 { background: linear-gradient(150deg, #6ee7b7 0%, #10b981 100%); } .meal-dinner .ai-diet-meal-icon.data-v-612eeee9 { background: linear-gradient(150deg, #c7d2fe 0%, #818cf8 100%); } .ai-diet-meal-label.data-v-612eeee9 { font-size: 26rpx; font-weight: 800; color: var(--text-primary); letter-spacing: 2rpx; } .ai-diet-meal-text.data-v-612eeee9 { display: block; font-size: 30rpx; line-height: 1.6; color: var(--text-primary); } .ai-diet-tip-box.data-v-612eeee9 { margin-top: 16rpx; padding: 18rpx 20rpx; border-radius: 16rpx; background: var(--primary-light); border: 1rpx solid rgba(32, 78, 43, 0.12); } .ai-diet-tip-head.data-v-612eeee9 { display: flex; align-items: center; gap: 8rpx; margin-bottom: 8rpx; } .ai-diet-tip-label.data-v-612eeee9 { font-size: 24rpx; font-weight: 700; color: var(--primary-container); } .ai-diet-tip-text.data-v-612eeee9 { display: block; font-size: 28rpx; line-height: 1.55; color: var(--text-secondary); } .ai-diet-avoid.data-v-612eeee9 { margin-top: 16rpx; padding: 18rpx 20rpx; border-radius: 16rpx; background: var(--danger-light); border: 1rpx solid rgba(220, 38, 38, 0.15); } .ai-diet-avoid-head.data-v-612eeee9 { display: flex; align-items: center; gap: 8rpx; margin-bottom: 12rpx; } .ai-diet-avoid-label.data-v-612eeee9 { font-size: 26rpx; color: #b91c1c; font-weight: 700; } .ai-diet-avoid-tags.data-v-612eeee9 { display: flex; flex-wrap: wrap; gap: 10rpx; } .ai-diet-avoid-tag.data-v-612eeee9 { padding: 8rpx 16rpx; border-radius: 999rpx; font-size: 24rpx; color: #991b1b; background: #ffffff; border: 1rpx solid rgba(220, 38, 38, 0.2); } .ai-diet-actions.data-v-612eeee9 { display: flex; gap: 16rpx; margin-top: 24rpx; padding-bottom: 8rpx; } .ai-diet-btn.data-v-612eeee9 { flex: 1; min-height: 88rpx; display: flex; align-items: center; justify-content: center; border-radius: 20rpx; font-size: 28rpx; font-weight: 700; transition: opacity 0.2s ease; } .ai-diet-btn.primary.data-v-612eeee9 { background: linear-gradient(135deg, #1f6f4a 0%, #0d8a82 55%, #14b8a6 100%); color: #ffffff; box-shadow: 0 10rpx 22rpx rgba(14, 138, 138, 0.28); border: none; } .ai-diet-btn.ghost.data-v-612eeee9 { background: #ffffff; border: 2rpx solid var(--border-soft); color: var(--primary-container); } /* ===== 运动降糖建议 ===== */ .ai-diet-exercise.data-v-612eeee9 { margin: 8rpx 24rpx 24rpx; padding: 24rpx; border-radius: 20rpx; background: linear-gradient(180deg, #f3f9f5 0%, #ffffff 60%); border: 1rpx solid var(--border-soft); border-left: 6rpx solid var(--primary); } .ai-diet-exercise.lv-high.data-v-612eeee9 { border-left-color: var(--danger); background: linear-gradient(180deg, #fef4f3 0%, #ffffff 60%); } .ai-diet-exercise.lv-medium.data-v-612eeee9 { border-left-color: var(--warning); background: linear-gradient(180deg, #fff8f0 0%, #ffffff 60%); } .ai-diet-exercise-head.data-v-612eeee9 { display: flex; align-items: center; gap: 12rpx; margin-bottom: 14rpx; } .ai-diet-exercise-icon.data-v-612eeee9 { flex-shrink: 0; width: 52rpx; height: 52rpx; display: flex; align-items: center; justify-content: center; border-radius: 14rpx; background: var(--primary-grad); box-shadow: var(--shadow-glow-primary); } .ai-diet-exercise.lv-high .ai-diet-exercise-icon.data-v-612eeee9 { background: linear-gradient(160deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 8rpx 20rpx rgba(220, 38, 38, 0.18); } .ai-diet-exercise.lv-medium .ai-diet-exercise-icon.data-v-612eeee9 { background: linear-gradient(160deg, #d97706 0%, #f59e0b 100%); box-shadow: 0 8rpx 20rpx rgba(217, 119, 6, 0.18); } .ai-diet-exercise-head-text.data-v-612eeee9 { display: flex; align-items: center; gap: 12rpx; flex: 1; min-width: 0; } .ai-diet-exercise-title.data-v-612eeee9 { font-size: 30rpx; font-weight: 800; color: var(--text-primary); letter-spacing: 0.5rpx; } .ai-diet-exercise-tag.data-v-612eeee9 { font-size: 22rpx; font-weight: 700; padding: 4rpx 16rpx; border-radius: 999rpx; color: var(--primary); background: var(--primary-light); } .ai-diet-exercise-tag.lv-high.data-v-612eeee9 { color: var(--danger); background: var(--danger-light); } .ai-diet-exercise-tag.lv-medium.data-v-612eeee9 { color: var(--warning); background: var(--warning-light); } .ai-diet-exercise-headline.data-v-612eeee9 { display: block; font-size: 28rpx; line-height: 1.55; color: var(--text-secondary); margin-bottom: 16rpx; } .ai-diet-exercise-list.data-v-612eeee9 { display: flex; flex-direction: column; gap: 12rpx; } .ai-diet-exercise-item.data-v-612eeee9 { display: flex; align-items: flex-start; gap: 14rpx; } .ai-diet-exercise-bullet.data-v-612eeee9 { flex-shrink: 0; width: 40rpx; height: 40rpx; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--primary-light); color: var(--primary); font-size: 24rpx; font-weight: 800; } .ai-diet-exercise.lv-high .ai-diet-exercise-bullet.data-v-612eeee9 { background: var(--danger-light); color: var(--danger); } .ai-diet-exercise.lv-medium .ai-diet-exercise-bullet.data-v-612eeee9 { background: var(--warning-light); color: var(--warning); } .ai-diet-exercise-item-text.data-v-612eeee9 { flex: 1; min-width: 0; font-size: 30rpx; line-height: 1.55; color: var(--text-primary); } .ai-diet-exercise-meta.data-v-612eeee9 { display: flex; align-items: center; gap: 8rpx; margin-top: 18rpx; padding: 12rpx 18rpx; border-radius: 14rpx; background: var(--surface-muted); font-size: 24rpx; font-weight: 600; color: var(--text-secondary); } .ai-diet-exercise-note.data-v-612eeee9 { display: block; margin-top: 14rpx; font-size: 24rpx; line-height: 1.55; color: var(--text-muted); } .ai-diet-ask-panel.data-v-612eeee9 { margin: 8rpx 24rpx 24rpx; padding: 24rpx; border-radius: 20rpx; background: var(--slate-50); border: 1rpx solid var(--border-soft); } .ai-diet-ask-head.data-v-612eeee9 { margin-bottom: 16rpx; } .ai-diet-ask-title.data-v-612eeee9 { display: block; font-size: 30rpx; font-weight: 800; color: var(--primary); line-height: 1.35; } .ai-diet-ask-hint.data-v-612eeee9 { display: block; margin-top: 6rpx; font-size: 24rpx; color: var(--text-muted); line-height: 1.45; } .ai-diet-ask-row.data-v-612eeee9 { display: flex; gap: 12rpx; align-items: stretch; } .ai-diet-ask-input.data-v-612eeee9 { flex: 1; min-height: 88rpx; padding: 0 24rpx; border-radius: 16rpx; background: #ffffff; border: 2rpx solid var(--border-soft); font-size: 30rpx; color: var(--text-primary); box-sizing: border-box; } .ai-diet-ask-btn.data-v-612eeee9 { flex-shrink: 0; min-width: 148rpx; min-height: 88rpx; display: flex; align-items: center; justify-content: center; gap: 6rpx; padding: 0 20rpx; border-radius: 16rpx; background: linear-gradient(135deg, #1f6f4a 0%, #0d8a82 55%, #14b8a6 100%); color: #ffffff; font-size: 28rpx; font-weight: 700; box-shadow: 0 8rpx 18rpx rgba(14, 138, 138, 0.26); } .ai-diet-ask-btn.disabled.data-v-612eeee9 { opacity: 0.55; } .ai-diet-ask-result.data-v-612eeee9 { margin-top: 16rpx; padding: 20rpx; border-radius: 16rpx; background: #ffffff; border: 1rpx solid var(--border-soft); } .ai-diet-ask-result.lv-high.data-v-612eeee9 { border-color: rgba(220, 38, 38, 0.25); background: var(--danger-light); } .ai-diet-ask-result.lv-medium.data-v-612eeee9 { border-color: rgba(199, 125, 10, 0.3); background: var(--warning-light); } .ai-diet-ask-badge.data-v-612eeee9 { display: inline-block; padding: 6rpx 18rpx; border-radius: 999rpx; font-size: 22rpx; font-weight: 700; margin-bottom: 12rpx; background: var(--primary-light); border: 2rpx solid var(--primary); color: var(--primary); } .ai-diet-ask-badge.lv-high.data-v-612eeee9 { border-color: #dc2626; background: #ffffff; color: #dc2626; } .ai-diet-ask-badge.lv-medium.data-v-612eeee9 { border-color: #c77d0a; background: #ffffff; color: #c77d0a; } .ai-diet-ask-badge.lv-low.data-v-612eeee9 { border-color: var(--primary); background: #ffffff; color: var(--primary); } .ai-diet-ask-advice.data-v-612eeee9 { display: block; font-size: 30rpx; line-height: 1.6; color: var(--text-primary); } .ai-stream-cursor.data-v-612eeee9 { display: inline; color: var(--primary-container); animation: ai-cursor-blink-612eeee9 0.9s step-end infinite; } @keyframes ai-cursor-blink-612eeee9 { 50% { opacity: 0; } } @media (prefers-reduced-motion: reduce) { .ai-stream-cursor.data-v-612eeee9 { animation: none; opacity: 0.6; } } .ai-diet-ask-portion.data-v-612eeee9 { display: block; margin-top: 12rpx; padding-top: 12rpx; border-top: 1rpx dashed var(--border-soft); font-size: 26rpx; color: var(--primary-container); font-weight: 600; } .ai-diet-footer.data-v-612eeee9 { padding: 0 24rpx 24rpx; } .ai-diet-rules.data-v-612eeee9 { display: block; font-size: 24rpx; color: var(--primary); line-height: 1.5; font-weight: 600; } .ai-diet-disclaimer.data-v-612eeee9 { display: block; margin-top: 10rpx; font-size: 22rpx; color: var(--text-muted); line-height: 1.45; }