/* * 我的 */ .mine-page { padding: var(--space-xl) var(--space-lg); min-height: 100vh; } /* ── 个人资料 ── */ .profile { display: flex; flex-direction: column; align-items: center; margin-bottom: var(--space-xl); } .avatar { width: 120rpx; height: 120rpx; border-radius: 50%; background: #F0EDE8; } .avatar-placeholder { width: 120rpx; height: 120rpx; border-radius: 50%; background: #F5F2EE; display: flex; align-items: center; justify-content: center; font-size: 56rpx; } .nickname { font-size: var(--text-subtitle); font-weight: 600; color: var(--color-text); margin-top: var(--space-sm); } /* ── 卡片 ── */ .card-section { padding: var(--space-md); margin-bottom: var(--space-sm); background: var(--color-surface); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); } .card-title { font-size: var(--text-body); font-weight: 600; color: var(--color-text); margin-bottom: var(--space-sm); } /* ── 偏好标签 ── */ .tag-row { display: flex; flex-wrap: wrap; } .pref-tag { padding: 8rpx var(--space-md); border-radius: var(--radius-full); background: #F5F2EE; font-size: var(--text-body-sm); color: var(--color-text-secondary); margin-right: 12rpx; margin-bottom: 12rpx; transition: all 0.2s var(--ease-out); } .pref-tag:active { transform: scale(0.95); } .pref-tag.active { background: var(--color-primary-pale); color: var(--color-primary); font-weight: 600; } /* ── 过敏原输入 ── */ .allergy-input { width: 100%; font-size: var(--text-body-sm); padding: 12rpx 0; color: var(--color-text); border-bottom: 1rpx solid var(--color-hairline); } /* ── 清空按钮 ── */ .clear-btn { font-size: var(--text-body-sm); color: var(--color-primary); float: right; font-weight: 500; } /* ── 购物清单 ── */ .shop-item { display: flex; align-items: center; padding: 14rpx 0; border-bottom: 1rpx solid var(--color-hairline); } .shop-item:last-child { border-bottom: none; } .shop-item:active { opacity: 0.6; } .shop-item.checked .shop-name { text-decoration: line-through; color: var(--color-text-muted); } .shop-check { font-size: 32rpx; margin-right: var(--space-sm); } .shop-info { flex: 1; min-width: 0; } .shop-name { font-size: var(--text-body); font-weight: 500; color: var(--color-text); } .shop-amount { font-size: var(--text-body-sm); color: var(--color-text-muted); } .shop-from { font-size: var(--text-caption); color: var(--color-text-muted); margin-top: 2rpx; } /* ── 版本 ── */ .about { text-align: center; font-size: var(--text-body-sm); color: var(--color-text-muted); margin-top: var(--space-2xl); padding-bottom: var(--space-xl); }