page { background: var(--bg-base); } .page { padding-top: var(--space-4); } .tabs { width: 100%; } .tabs-row { display: inline-flex; gap: var(--space-2); } .summary { margin-top: var(--space-3); font-size: var(--font-caption); color: var(--text-2); } .tab { min-height: 64rpx; padding: 0 24rpx; border-radius: var(--radius-pill); background: #fff; border: 1px solid var(--border-soft); color: var(--text-2); font-size: var(--font-body); display: flex; align-items: center; justify-content: center; } .tab.active { background: var(--brand-main); border-color: var(--brand-main); color: #fff; font-weight: 700; } .waterfall { margin-top: var(--space-4); display: flex; gap: var(--space-2); align-items: flex-start; } .column { flex: 1; display: flex; flex-direction: column; gap: var(--space-2); } .photo-wrap { position: relative; border-radius: var(--radius-md); overflow: hidden; } .photo { width: 100%; border-radius: var(--radius-md); overflow: hidden; background: #f8f8f8; } .photo-mask { position: absolute; left: 0; right: 0; bottom: 0; padding: 12rpx; background: linear-gradient(to top, rgba(0, 0, 0, 0.62), rgba(0, 0, 0, 0)); } .photo-title { font-size: var(--font-caption); color: #fff; font-weight: 700; } .photo-meta { margin-top: 2rpx; font-size: 22rpx; color: rgba(255, 255, 255, 0.9); } .floating-cta { position: fixed; left: var(--space-4); right: var(--space-4); bottom: calc(16rpx + env(safe-area-inset-bottom)); bottom: calc(16rpx + constant(safe-area-inset-bottom)); }