282 lines
4.1 KiB
Plaintext
282 lines
4.1 KiB
Plaintext
.rec-page {
|
|
height: 100vh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.scroll-body {
|
|
flex: 1;
|
|
height: 0;
|
|
}
|
|
|
|
/* 生成中 */
|
|
.generating {
|
|
flex: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 0 64rpx;
|
|
}
|
|
|
|
.gen-ani {
|
|
position: relative;
|
|
width: 160rpx;
|
|
height: 160rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.gen-icon {
|
|
width: 72rpx;
|
|
height: 72rpx;
|
|
color: #007AFF;
|
|
}
|
|
|
|
.gen-ring {
|
|
position: absolute;
|
|
width: 160rpx;
|
|
height: 160rpx;
|
|
border-radius: 50%;
|
|
border: 4rpx solid #E5E5EA;
|
|
border-top-color: #007AFF;
|
|
animation: spin 1s linear infinite;
|
|
}
|
|
|
|
@keyframes spin {
|
|
to { transform: rotate(360deg); }
|
|
}
|
|
|
|
.gen-title {
|
|
margin-top: 48rpx;
|
|
font-size: 32rpx;
|
|
font-weight: 600;
|
|
color: #000;
|
|
}
|
|
|
|
.gen-desc {
|
|
font-size: 24rpx;
|
|
color: #8E8E93;
|
|
margin-top: 12rpx;
|
|
}
|
|
|
|
/* 结果封面 */
|
|
.result-cover {
|
|
margin: 24rpx;
|
|
height: 420rpx;
|
|
position: relative;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.rc-item {
|
|
position: absolute;
|
|
width: 180rpx;
|
|
height: 240rpx;
|
|
background: #F8F8FA;
|
|
border-radius: 20rpx;
|
|
border: 1rpx solid #E5E5EA;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.rc-0 { left: 30rpx; top: 70rpx; transform: rotate(-5deg); }
|
|
.rc-1 { left: 130rpx; top: 130rpx; transform: rotate(3deg); }
|
|
.rc-2 { left: 240rpx; top: 60rpx; transform: rotate(6deg); }
|
|
.rc-3 { left: 350rpx; top: 140rpx; transform: rotate(-3deg); }
|
|
.rc-4 { left: 460rpx; top: 80rpx; transform: rotate(8deg); }
|
|
|
|
.rc-img {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
.rc-placeholder {
|
|
width: 64rpx;
|
|
height: 64rpx;
|
|
color: #C7C7CC;
|
|
}
|
|
|
|
/* 结果信息 */
|
|
.result-info {
|
|
margin: 0 24rpx 24rpx;
|
|
}
|
|
|
|
.ri-title {
|
|
font-size: 36rpx;
|
|
font-weight: 700;
|
|
color: #000;
|
|
}
|
|
|
|
.ri-desc {
|
|
font-size: 28rpx;
|
|
color: #3C3C43;
|
|
margin-top: 16rpx;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.tag-row {
|
|
display: flex;
|
|
gap: 12rpx;
|
|
margin-top: 20rpx;
|
|
}
|
|
|
|
.items-title {
|
|
font-size: 28rpx;
|
|
font-weight: 600;
|
|
color: #000;
|
|
margin-top: 32rpx;
|
|
}
|
|
|
|
.items-scroll {
|
|
margin-top: 20rpx;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.items-row {
|
|
display: inline-flex;
|
|
}
|
|
|
|
.item-chip {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
width: 140rpx;
|
|
margin-right: 20rpx;
|
|
}
|
|
|
|
.item-img {
|
|
width: 120rpx;
|
|
height: 120rpx;
|
|
border-radius: 20rpx;
|
|
background: #F2F2F7;
|
|
}
|
|
|
|
.item-img-empty {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: #C7C7CC;
|
|
}
|
|
|
|
.item-img-empty .icon {
|
|
width: 56rpx;
|
|
height: 56rpx;
|
|
}
|
|
|
|
.item-name {
|
|
font-size: 20rpx;
|
|
color: #8E8E93;
|
|
margin-top: 8rpx;
|
|
max-width: 140rpx;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.footer {
|
|
padding: 16rpx 24rpx;
|
|
padding-bottom: calc(40rpx + env(safe-area-inset-bottom));
|
|
}
|
|
|
|
.reroll {
|
|
margin-top: 20rpx;
|
|
}
|
|
|
|
.reroll-tip {
|
|
text-align: center;
|
|
font-size: 22rpx;
|
|
color: #8E8E93;
|
|
margin-top: 16rpx;
|
|
}
|
|
|
|
/* 场景弹窗 */
|
|
.mask {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background: rgba(0, 0, 0, 0.4);
|
|
z-index: 200;
|
|
}
|
|
|
|
.sheet {
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background: #fff;
|
|
border-radius: 32rpx 32rpx 0 0;
|
|
padding: 20rpx 32rpx;
|
|
padding-bottom: calc(32rpx + env(safe-area-inset-bottom));
|
|
}
|
|
|
|
.sheet-grabber {
|
|
width: 72rpx;
|
|
height: 10rpx;
|
|
border-radius: 5rpx;
|
|
background: #E5E5EA;
|
|
margin: 0 auto 24rpx;
|
|
}
|
|
|
|
.sheet-title {
|
|
font-size: 34rpx;
|
|
font-weight: 600;
|
|
color: #000;
|
|
text-align: center;
|
|
margin-bottom: 24rpx;
|
|
}
|
|
|
|
.scene-card {
|
|
position: relative;
|
|
border: 2rpx solid #E5E5EA;
|
|
border-radius: 24rpx;
|
|
padding: 28rpx;
|
|
margin-bottom: 20rpx;
|
|
}
|
|
|
|
.scene-card.active {
|
|
border-color: #007AFF;
|
|
background: rgba(0, 122, 255, 0.04);
|
|
}
|
|
|
|
.scene-name {
|
|
font-size: 30rpx;
|
|
font-weight: 600;
|
|
color: #000;
|
|
}
|
|
|
|
.scene-desc {
|
|
font-size: 24rpx;
|
|
color: #8E8E93;
|
|
margin-top: 8rpx;
|
|
}
|
|
|
|
.scene-check {
|
|
position: absolute;
|
|
top: 28rpx;
|
|
right: 28rpx;
|
|
width: 36rpx;
|
|
height: 36rpx;
|
|
color: #007AFF;
|
|
}
|
|
|
|
.scene-input {
|
|
margin-bottom: 20rpx;
|
|
}
|
|
|
|
.sheet-btn {
|
|
width: 100%;
|
|
}
|
|
|
|
.sheet-skip {
|
|
text-align: center;
|
|
font-size: 26rpx;
|
|
color: #8E8E93;
|
|
margin-top: 20rpx;
|
|
padding: 12rpx;
|
|
}
|