
	/* transition-opacity */
.transition-opacity {
		transition-property: opacity;
}

	/* duration-500 (500ms) */
.duration-500 {
		transition-duration: 1000ms;
}
.flex {
		display: flex;
}
.flex-col {
		flex-direction: column;
}
.min-h-screen {
		min-height: 100vh;
}
.bg-gray-100 {
		background-color: #f3f4f6;
}
.p-10 {
		padding: 10px;
}
.bg-black {
		background-color: #000000;
}
.justify-center {
		justify-content: center;
}
.items-center {
		align-items: center;
}
.w-full {
		width: 100%;
}
.h-full {
		height: 100%;
}
.max-w-120px {
		max-width: 1200px;
}
.aspect-video {
		aspect-ratio: 16/9;
}
.object-cover {
		object-fit: cover;
}
.p-4 {
		padding: 1rem;
		/* 16px */
}
.p-2 {
		padding: 0.5rem;
		/* 16px */
}
.bg-white {
		background-color: #ffffff;
}
.flex-wrap {
		flex-wrap: wrap;
}
.justify-between {
		justify-content: space-between;
}
.font-bold {
		font-weight: bold;
}
.w-1-5 {
		width: 20%;
}
.items-center {
		align-items: center;
}
.w-12 {
		width: 3rem;
		/* 48px */
}
.h-12 {
		height: 3rem;
		/* 48px */
}
.bg-blue-500 {
		background-color: #3b82f6;
}
.bg-green-500 {
		background-color: #10b981;
}
.bg-red-500 {
		background-color: #ef4444;
}
.bg-yellow-500 {
		background-color: #f59e0b;
}
.bg-purple-500 {
		background-color: #8b5cf6;
}
.bg-indigo-500 {
		background-color: #6366f1;
}
.bg-pink-500 {
		background-color: #ec4899;
}
.bg-teal-500 {
		background-color: #14b8a6;
}
.bg-gray-700 {
		background-color: #374151;
}
.bg-orange-500 {
		background-color: #f97316;
}
.rounded-full {
		border-radius: 9999px;
}
.rounded-5 {
		border-radius: 5px;
}
.mb-2 {
		margin-bottom: 0.5rem;
}
.mt-2 {
		margin-top: 0.5rem;
}
.text-white {
		color: #ffffff;
}
.text-2xl {
		font-size: 1.5rem;
		line-height: 2rem;
}
.text-xs {
		font-size: 0.75rem;
		line-height: 1rem;
}
.text-center {
		text-align: center;
}
.mt-4 {
		margin-top: 1rem;
}
.max-w-md {
		max-width: 28rem;
		/* 448px */
}
.rounded-full {
		border-radius: 9999px;
}
.rounded-xl {
		border-radius: 12px;
}
.overflow-hidden {
		overflow: hidden;
}
.h-16 {
		height: 4rem;
		/* 64px */
}
.h-32 {
		height: 5rem;
		/* 64px */
}
.h-64 {
		height: 10rem;
}
.grid {
		display: grid;
}
.grid-cols-3 {
		grid-template-columns: repeat(3, 1fr);
}
.gap-4 {
		gap: 1rem;
		/* 16px */
}
.shadow {
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);
}
.p-2 {
		padding: 0.5rem;
}
.text-lg {
		font-size: 1.125rem;
		line-height: 1.75rem;
}
.font-semibold {
		font-weight: 600;
}
.text-blue-500 {
		color: #3b82f6;
}
.text-sm {
		font-size: 0.875rem;
		line-height: 1.25rem;
}
.text-base {
		font-size: 1rem;
		line-height: 1.5rem;
}
.mb-4 {
		margin-bottom: 1rem;
}
.h-24 {
		height: 4rem
}
.h-40 {
		height: 8rem
}

	/* 容器 */
.w-full {
		width: 100%;
}
.p-4 {
		padding: 1rem;
		/* 16px */
}
.bg-white {
		background-color: #ffffff;
}
.rounded-lg {
		border-radius: 0.5rem;
		/* 8px */
}
.shadow-md {
		box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 2px 4px rgba(0, 0, 0, 0.06);
}

	/* 标题 */
.text-lg {
		font-size: 1.125rem;
		/* 18px */
		line-height: 1.75rem;
		/* 28px */
}
.font-semibold {
		font-weight: 600;
}
.mb-2 {
		margin-bottom: 0.5rem;
		/* 8px */
}

	/* 显示区域 */
.relative {
		position: relative;
}
.h-40 {
		height: 10rem;
		/* 160px */
}
.overflow-hidden {
		overflow: hidden;
}

	/* 单行条目 */
.flex {
		display: flex;
}
.items-start {
		align-items: flex-start;
}
.mb-2 {
		margin-bottom: 0.5rem;
		/* 8px */
}

	/* 左侧图标 */
.w-8 {
		width: 2rem;
		/* 32px */
}
.h-8 {
		height: 2rem;
		/* 32px */
}
.w-24 {
		width: 4rem;
		/* 32px */
}
.h-16 {
		height: 3rem;
		/* 32px */
}
.flex-shrink-0 {
		flex-shrink: 0;
}
.mr-2 {
		margin-right: 0.5rem;
		/* 8px */
}
.rounded-5 {
		border-radius: 5px;
}

	/* 图片 */
img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		/* 对应 mode="aspectFill" */
}

	/* 右侧内容 */
.flex-1 {
		flex: 1 1 0%;
}

	/* 标题 */
.text-sm {
		font-size: 0.875rem;
		/* 14px */
		line-height: 1.25rem;
		/* 20px */
}
.font-medium {
		font-weight: 500;
}
.text-gray-800 {
		color: #1f2937;
		/* 深灰色 */
}
.truncate {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
}

	/* 发布时间 */
.text-xs {
		font-size: 0.75rem;
		/* 12px */
		line-height: 1rem;
		/* 16px */
}
.text-gray-500 {
		color: #6b7280;
		/* 浅灰色 */
}
.mt-0-5 {
		margin-top: 0.125rem;
		/* 2px */
}

	/* 弹窗 */
.auth-popup {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 30%;
		background-color: #fff;
		box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15);
		z-index: 100;
		display: flex;
		justify-content: center;
		align-items: flex-start;
		/* 弹窗内容靠上 */
}
.auth-content {
		width: 90%;
}

	/* 第一行标题靠左靠上 */
.auth-title {
		margin-top: 10rpx;
		font-size: 16px;
		font-weight: bold;
		text-align: left;
		margin-bottom: 12px;
}

	/* 第二行文字靠左，上下居中 */
.auth-info {
		font-size: 14px;
		color: #555;
		text-align: left;
		display: flex;
		align-items: center;
		/* 上下居中 */
		height: 40px;
		/* 可根据需要调整 */
		margin-bottom: 16px;
}
.auth-buttons {
		display: flex;
		justify-content: space-around;
}
.auth-btn {
		width: 100px;
		padding: 8px 0;
		border-radius: 4px;
		text-align: center;
		font-weight: bold;
}
.auth-btn.cancel {
		background-color: #eee;
		color: #333;
}
.auth-btn.allow {
		background-color: #007aff;
		color: #fff;
}
