/** * 用户资料详情页 U21 * 全部使用 Design Token,禁止硬编码颜色/间距/圆角 */ .profile-page { min-height:100vh; background:var(--color-bg-page); padding-bottom:calc(160rpx + env(safe-area-inset-bottom)); } /* ============ 加载/空状态 ============ */ .profile-loading, .profile-empty { padding-top:200rpx; display:flex; justify-content:center; } /* ============ 顶部信息 ============ */ .profile-header { display:flex; align-items:center; gap:var(--spacing-4); padding:var(--spacing-5) var(--spacing-page-x); background:var(--color-bg-card); } .profile-header__info { flex:1; min-width:0; } .profile-header__name-row { display:flex; align-items:baseline; gap:var(--spacing-2); margin-bottom:var(--spacing-1); } .profile-header__name { font-size:var(--font-size-lg); font-weight:var(--font-weight-bold); color:var(--color-text-primary); } .profile-header__age { font-size:var(--font-size-md); color:var(--color-text-tertiary); } .profile-header__meta { font-size:var(--font-size-sm); color:var(--color-text-tertiary); line-height:var(--line-height-normal); } .profile-header__badges { display:flex; flex-wrap:wrap; gap:var(--spacing-1); margin-top:var(--spacing-2); } /* ============ 内容区块 ============ */ .profile-body { padding-top:var(--spacing-2); } .profile-section { background:var(--color-bg-card); margin:var(--spacing-2) var(--spacing-page-x); border-radius:var(--radius-lg); padding:var(--spacing-card-inner); } .profile-info-grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--spacing-3); } .profile-info-item { display:flex; flex-direction:column; gap:var(--spacing-1); min-width:0; } .profile-info-item--full { grid-column:span 2; } .profile-info-item__label { font-size:var(--font-size-xs); color:var(--color-text-placeholder); } .profile-info-item__value { font-size:var(--font-size-md); color:var(--color-text-secondary); word-break:break-all; } .profile-intro-text { font-size:var(--font-size-md); color:var(--color-text-secondary); line-height:var(--line-height-relaxed); } /* ============ 底部操作栏 ============ */ .profile-actions { position:fixed; bottom:0; left:0; right:0; display:flex; gap:var(--spacing-2); align-items:center; padding:var(--spacing-2) var(--spacing-page-x); padding-bottom:calc(var(--spacing-2) + env(safe-area-inset-bottom)); background:var(--color-bg-card); border-top:var(--border-width) solid var(--color-divider); z-index:var(--z-sticky); } .profile-actions__btn { flex:1; } .profile-actions__btn--block, .profile-actions__btn--report { flex:0 0 auto; min-width:140rpx; } .profile-actions__btn--report { color:var(--color-warning-strong); }