Files
miniprogram-1/miniprogram/pages/upload/upload.wxss
2025-11-30 19:18:39 +08:00

1288 lines
26 KiB
Plaintext
Executable File

/* upload.wxss - 主功能页面样式(扁平化设计) */
.upload-container.morning,
.upload-container.afternoon {
/* background-color: #f3d2c1; */
background-color: #fffffe;
}
.morning .history-wrap,
.afternoon .history-wrap {
color: rgb(0, 24, 88);
}
.upload-container {
min-height: 100vh;
background-color: #232946;
padding: 0;
position: relative;
padding-top: calc(var(--height) + 100rpx);
}
/* 主要内容区域 */
.main-content {
/* min-height: calc(100vh - 64rpx); */
display: flex;
flex-direction: column;
position: relative;
z-index: 1;
}
/* 登录检查界面 */
.login-check-view {
min-height: calc(100vh - 120rpx);
display: flex;
align-items: center;
justify-content: center;
padding: 40rpx;
position: relative;
z-index: 1;
}
.login-prompt {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
background: #ffffff;
padding: 60rpx 40rpx;
border-radius: 16rpx;
box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.1);
width: 100%;
max-width: 500rpx;
}
.prompt-title {
font-size: 40rpx;
font-weight: 600;
color: #333333;
margin-bottom: 20rpx;
display: block;
}
.prompt-desc {
font-size: 28rpx;
color: #666666;
margin-bottom: 40rpx;
display: block;
opacity: 0.7;
}
.goto-login-btn {
background-color: #007AFF;
color: #ffffff;
border: none;
padding: 24rpx 48rpx;
border-radius: 50rpx;
font-size: 32rpx;
width: 100%;
height: 88rpx;
line-height: 88rpx;
}
/* 历史记录区域 */
.history-wrap {
position: relative;
padding: 40rpx 40rpx;
color: #b8c1ec;
}
.history-card-title {
margin-top: 40rpx;
font-weight: bold;
}
.history-card-list {
width: 100%;
}
.morning .history-card-item,
.afternoon .history-card-item {
/* background-color: rgb(254, 246, 228); */
background-color: #faeee7;
}
.history-card-item {
padding: 40rpx;
background-color: #fffffe;
font-weight: 600;
border-radius: 30rpx;
/* box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.1); */
margin: 40rpx 0;
color: rgb(18, 22, 41);
}
.images-list {
margin-top: 20rpx;
width: 100%;
height: 100rpx;
white-space: nowrap;
display: flex;
gap: 16rpx;
}
.images-list::-webkit-scrollbar {
display: none;
}
.image-item-wrap {
margin-right: 16rpx;
}
.image-item {
width: 100rpx;
height: 100rpx;
border-radius: 30rpx;
flex-shrink: 0;
box-shadow: 0 8rpx 16rpx 0 rgba(0, 0, 0, 0.04);
}
/* 今日摘要区域 */
.today-wrap {
position: relative;
padding: 20rpx 40rpx 0 40rpx;
color: #b8c1ec;
margin-bottom: 20rpx;
}
.today-card {
padding: 30rpx;
background-color: #fffffe;
border-radius: 30rpx;
box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.05);
color: rgb(18, 22, 41);
}
.today-card .images-list {
margin-top: 20rpx;
width: 100%;
height: 100rpx;
white-space: nowrap;
display: flex;
gap: 16rpx;
}
.today-card .image-item-wrap {
margin-right: 16rpx;
}
.today-card .image-item {
width: 100rpx;
height: 100rpx;
border-radius: 30rpx;
flex-shrink: 0;
box-shadow: 0 8rpx 16rpx 0 rgba(0, 0, 0, 0.04);
}
.morning .today-card,
.afternoon .today-card {
background-color: #faeee7;
}
/* 欢迎区域 */
.moon-wrap {
position: fixed;
opacity: 0;
color: #ffef22c7;
width: 210rpx;
height: 210rpx;
animation: slideInFromTopRight 3s forwards ease-in-out, fadeIn 3s forwards linear;
transform: translate(50%, -50%);
}
.moon-icon {
top: 100rpx;
opacity: 0.9;
}
.star-icon {
position: fixed;
top: 210px;
right: 40px;
font-size: 50rpx;
color: #FFD700;
filter: drop-shadow(0 0 10px rgba(255, 215, 0, 0.7));
animation: scaleStar1 3s infinite ease-in-out;
}
.star-icon-2 {
position: fixed;
top: 120px;
left: 40px;
font-size: 40rpx;
color: #FFD700;
filter: drop-shadow(0 0 10px rgba(255, 215, 0, 0.7));
animation: scaleStar2 3s infinite ease-in-out;
}
@keyframes scaleStar1 {
0%,
100% {
transform: scale(0.8);
}
50% {
transform: scale(1.2);
}
}
@keyframes scaleStar2 {
0%,
100% {
transform: scale(1.2);
}
50% {
transform: scale(0.8);
}
}
.sunny-wrap {
/* position: absolute;
top: -100px;
right: -100px;
color: #ffef22c7;
animation: appear 3s ease-out forwards; */
position: fixed;
width: 210rpx;
height: 210rpx;
opacity: 0;
animation: slideInFromTopRight 3s forwards ease-in-out, fadeIn 3s forwards linear;
transform: translate(50%, -50%);
}
.sunny-icon {
opacity: 1;
width: 210rpx;
height: 210rpx;
animation: rotate 50s linear infinite reverse 3s; /* 3秒后开始旋转 */
transform-origin: center center;
}
.face {
position: fixed;
left: 50%;
transform: translate(-70%, -74%);
font-size: 50rpx;
font-weight: 500;
color: black;
transition: all 0.8s ease;
z-index: 10;
width: 100rpx;
height: 100rpx;
}
.face.normal {
top: 56%;
transform: translate(-70%, -74%);
}
.face.up {
top: 64%;
transform: translate(-70%, -74%);
}
.face.down {
top: 72%;
transform: translate(-70%, -74%);
}
@keyframes slideInFromTopRight {
from {
transform: translate(300%, -50%);
}
to {
transform: translate(240%, 4%);
}
}
@keyframes fadeIn {
to {
opacity: 1;
}
}
@keyframes appear {
0% {
top: -100px;
right: -100px;
opacity: 0;
transform: scale(0.2);
}
70% {
opacity: 0.6;
transform: scale(0.8);
}
100% {
top: 20px;
right: 60px;
opacity: 0.8;
transform: scale(1.1);
}
}
@keyframes rotate {
0% {
transform: translate(-50%, -50%) rotate(0deg);
}
100% {
transform: translate(-50%, -50%) rotate(-360deg);
}
}
.cloud-icon {
position: fixed;
top: 500rpx;
left: -100rpx;
color: #eff0f3;
opacity: 0.8;
animation: moveLeftRight 4s infinite alternate linear;
}
@keyframes moveLeftRight {
0% {
transform: translateX(-20rpx);
}
100% {
transform: translateX(20rpx);
}
}
.welcome-section {
margin-bottom: 40rpx;
}
.morning .welcome-card,
.afternoon .welcome-card {
border-color: #f582ae;
}
.welcome-card {
background: #fffffe;
padding: 32rpx;
border-radius: 50%;
text-align: center;
box-shadow: 0 2rpx 16rpx rgba(0, 0, 0, 0.05);
border: 4rpx dashed rgb(238, 187, 195);
}
.user-info {
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 20rpx;
}
.avatar {
width: 60rpx;
height: 60rpx;
border-radius: 50%;
margin-right: 20rpx;
border: 2rpx solid rgba(102, 126, 234, 0.2);
}
.nickname {
font-size: 32rpx;
font-weight: 500;
color: #333333;
}
.welcome-text {
font-size: 28rpx;
color: #666666;
opacity: 0.7;
}
.morning .feature-section,
.afternoon .feature-section {
color:rgb(0, 24, 88);
}
/* 功能描述区域 */
.feature-section {
display: flex;
flex-direction: column;
align-items: center;
font-size: 28rpx;
color: rgb(184, 193, 236);
font-weight: bold;
z-index: 1;
}
.hello {
margin-top: 80rpx;
font-size: 50rpx;
/* color: black; */
}
.begin-text {
margin-top: 10rpx;
font-size: 36rpx;
}
/* 功能按钮区域 */
.action-section {
width: 300rpx;
height: 300rpx;
margin-top: 40rpx;
display: flex;
align-items: center;
justify-content: center;
}
.action-section .top {
}
.action-buttons {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 32rpx;
width: 100%;
max-width: 400rpx;
color: rgb(238, 187, 195);
}
.action-btn {
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10rpx);
border-radius: 24rpx;
padding: 40rpx 32rpx;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
transition: all 0.3s ease;
box-shadow: 0 8rpx 32rpx rgba(0, 0, 0, 0.1);
}
.action-btn:active {
transform: translateY(2rpx);
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.15);
}
.action-btn:disabled {
opacity: 0.6;
}
.btn-icon {
font-size: 80rpx;
margin-bottom: 20rpx;
display: block;
}
.btn-text {
font-size: 32rpx;
font-weight: 600;
color: #333;
margin-bottom: 8rpx;
display: block;
}
.btn-desc {
font-size: 24rpx;
color: #666;
opacity: 0.8;
display: block;
}
/* 图片预览区域 */
.preview-section {
margin-bottom: 32rpx;
}
.preview-card {
background: #ffffff;
border-radius: 16rpx;
padding: 32rpx;
box-shadow: 0 2rpx 16rpx rgba(0, 0, 0, 0.05);
}
.preview-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 24rpx;
}
.preview-title {
font-size: 32rpx;
font-weight: 500;
color: #333333;
}
.reselect-btn {
background: none;
border: 1rpx solid #007AFF;
color: #007AFF;
padding: 12rpx 24rpx;
border-radius: 30rpx;
font-size: 24rpx;
}
.preview-image {
width: 100%;
max-height: 400rpx;
border-radius: 16rpx;
margin-bottom: 20rpx;
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.1);
}
.processing-status {
text-align: center;
}
.processing-text {
font-size: 24rpx;
color: #666666;
margin-top: 16rpx;
display: block;
}
/* 加载状态显示 */
.processing-section {
margin-bottom: 32rpx;
}
.processing-card {
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10rpx);
border-radius: 24rpx;
padding: 48rpx 32rpx;
text-align: center;
box-shadow: 0 8rpx 32rpx rgba(0, 0, 0, 0.1);
}
.loading-spinner {
width: 60rpx;
height: 60rpx;
border: 6rpx solid #f3f3f3;
border-top: 6rpx solid #007AFF;
border-radius: 50%;
margin: 0 auto 24rpx;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.processing-card .processing-text {
font-size: 28rpx;
color: #666666;
margin-top: 0;
}
.loading-bar {
width: 200rpx;
height: 4rpx;
background-color: #e5e5e5;
border-radius: 2rpx;
margin: 0 auto 16rpx;
overflow: hidden;
}
.loading-bar::after {
content: '';
display: block;
width: 50%;
height: 100%;
background-color: #007AFF;
border-radius: 2rpx;
animation: loading 1.5s infinite ease-in-out;
}
@keyframes loading {
0% { transform: translateX(-100%); }
100% { transform: translateX(200%); }
}
/* 使用提示 */
.tips-section {
margin-top: auto;
}
.tips-card {
background: #ffffff;
padding: 24rpx 32rpx;
border-radius: 16rpx;
box-shadow: 0 2rpx 16rpx rgba(0, 0, 0, 0.05);
}
.tips-title {
font-size: 28rpx;
font-weight: 500;
color: #333333;
margin-bottom: 16rpx;
display: block;
}
.tips-list {
display: flex;
flex-direction: column;
gap: 8rpx;
}
.tip-item {
font-size: 24rpx;
color: #666666;
line-height: 1.5;
opacity: 0.8;
}
/* 自定义导航栏 */
.custom-navbar {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 9999;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(20rpx);
border-bottom: 1rpx solid rgba(255, 255, 255, 0.2);
}
.navbar-content {
display: flex;
align-items: center;
justify-content: space-between;
height: 120rpx;
padding: 0 32rpx;
padding-top: 44rpx; /* 为状态栏留出空间 */
}
.navbar-left,
.navbar-right {
width: 100rpx;
display: flex;
justify-content: center;
}
.navbar-title {
flex: 1;
text-align: center;
}
.title-text {
font-size: 36rpx;
font-weight: 600;
}
.profile-btn {
background: linear-gradient(45deg, #667eea, #764ba2);
color: white;
border-radius: 50%;
width: 60rpx;
height: 60rpx;
display: flex;
align-items: center;
justify-content: center;
border: none;
box-shadow: 0 4rpx 12rpx rgba(102, 126, 234, 0.3);
}
.profile-icon {
font-size: 24rpx;
}
/* 装饰气泡 */
.decoration-bubbles {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: none;
z-index: 0;
}
.bubble {
position: absolute;
background: rgba(255, 255, 255, 0.08);
border-radius: 50%;
animation: bubbleFloat 8s ease-in-out infinite;
}
.bubble-1 {
width: 60rpx;
height: 60rpx;
top: 25%;
left: 5%;
animation-delay: 0s;
}
.bubble-2 {
width: 40rpx;
height: 40rpx;
top: 50%;
right: 10%;
animation-delay: 2s;
}
.bubble-3 {
width: 80rpx;
height: 80rpx;
bottom: 30%;
left: 15%;
animation-delay: 4s;
}
@keyframes bubbleFloat {
0%, 100% { transform: translateY(0px) rotate(0deg); }
50% { transform: translateY(-20px) rotate(180deg); }
}
.camera {
position:relative;
/* left:50%; top:50%; */
width:300rpx; height:300rpx;
margin-top:40rpx;
background:#eaeaea;
border:1px solid rgba(0,0,0,.2); border-radius:50rpx;
overflow:hidden;
transition: all .5s ease-in-out;
-webkit-transition: all .5s ease-in-out;
-moz-transition: all .5s ease-in-out;
-ms-transition: all .5s ease-in-out;
-o-transition: all .5s ease-in-out;
z-index:2;
}
.btn {
position: absolute;
top: 20rpx; right: 30rpx;
width: 45rpx; height: 35rpx;
background-color: #2e3e4f;
border-radius: 15rpx;
box-shadow: 0px 3rpx 0px rgba(0,0,0,.4);
transition:all .2 ease-in-out;
-webkit-transition:all .2 ease-in-out;
-moz-transition:all .2 ease-in-out;
-ms-transition:all .2 ease-in-out;
-o-transition:all .2 ease-in-out;
animation: .5s btn;
-webkit-animation: .5s btn;
-moz-animation: .5s btn;
-ms-animation: .5s btn;
-o-animation: .5s btn;
animation-iteration-count:5;
-webkit-animation-iteration-count:5;
-moz-animation-iteration-count:5;
-ms-animation-iteration-count:5;
-o-animation-iteration-count:5;
}
.strip {
height: 110rpx;
background-color: #54b59a;
border-top: 10rpx solid #479a83;
border-bottom: 10rpx solid #479a83;
margin: 80rpx 0px;
box-shadow: 0px 2rpx 0px rgba(0,0,0,.4);
}
.lens {
position:absolute;
top:50%; left:50%;
width:144rpx; height:144rpx;
margin:-90rpx;
border:18rpx solid #b44b37;
border-radius:50%;
background-color:#111;
box-shadow: 0px 5rpx 0px rgba(0,0,0,.4);
}
.lens::before {
content: '';
position: absolute;
width: 50rpx; height: 50rpx;
margin: 27rpx;
border: 20rpx solid rgb(60, 60, 60);
border-radius: 50%;
background: rgb(34, 34, 34);
}
.lens::after {
content: '';
position: absolute;
width: 8rpx; height: 8rpx;
margin: 57rpx;
border: 11rpx solid rgb(22, 22, 22);
border-radius: 50%;
background: rgb(131, 131, 131);
}
.lens-shutter {
position:relative;
width:144rpx; height:144rpx;
display: inline-block;
border-radius: 50%;
overflow: hidden;
}
.lens-shutter::after {
content: " ";
position: absolute;
left: 50%;
top: -120%;
height: 340%;
width: 170%;
transition: .5s all linear;
animation: shutter 10.0s infinite ease-in-out;
background:
linear-gradient(-150deg, transparent 52%, #000 calc(52% + 2rpx) calc(52% + 4rpx), grey calc(52% + 6rpx)) bottom/100% 40% no-repeat,
linear-gradient(150deg, transparent 52%, #000 calc(52% + 2rpx) calc(52% + 4rpx), grey calc(52% + 6rpx)),
linear-gradient(90deg, transparent 30%, #000 calc(30% + 2rpx) calc(30% + 4rpx), grey calc(30% + 6rpx)),
linear-gradient(30deg, transparent 52%, #000 calc(52% + 2rpx) calc(52% + 4rpx), grey calc(52% + 6rpx));
transform: rotate(180deg);
transform-origin: left;
}
.lens-shutter::before {
content: " ";
position: absolute;
left: 50%;
top: -120%;
height: 340%;
width: 170%;
transition: .5s all linear;
animation: shutter 10.0s infinite ease-in-out;
background:
linear-gradient(-150deg, transparent 52%, #000 calc(52% + 2rpx) calc(52% + 4rpx), grey calc(52% + 6rpx)) bottom/100% 40% no-repeat,
linear-gradient(150deg, transparent 52%, #000 calc(52% + 2rpx) calc(52% + 4rpx), grey calc(52% + 6rpx)),
linear-gradient(90deg, transparent 30%, #000 calc(30% + 2rpx) calc(30% + 4rpx), grey calc(30% + 6rpx)),
linear-gradient(30deg, transparent 52%, #000 calc(52% + 2rpx) calc(52% + 4rpx), grey calc(52% + 6rpx));
}
@keyframes shutter {
0% {
top: -120%;
height: 340%;
width: 170%;
opacity: 0;
} 10% {
top: 0;
height: 100%;
width: 50%;
opacity: 1;
} 20%, 100% {
top: -120%;
height: 340%;
width: 170%;
opacity: 0;
}
}
.led {
position: absolute;
left: 35rpx; top: 30rpx;
width: 15rpx; height: 15rpx;
border-radius: 50%;
background-color: rgb(255, 136, 115);
box-shadow: inset 0px 1rpx 0px rgba(0,0,0,.1);
animation: led .8s infinite;
}
@keyframes led {
from {
opacity:.2;
}
to {
opacity:1;
}
}
.shutter {
width: 180rpx;
height: 180rpx;
border-radius: 50%;
position: absolute;
top: 50%;
left: 50%;
margin:-90rpx;
background: #181816;
box-shadow: 0 0 0 5rpx #181816, 0 0 0 3rpx #373737;
overflow: hidden;
}
.bottom {
position: absolute;
bottom: 0;
width: 100%;
height: 24rpx;
background-color: #c6c6c6;
border-radius: 14rpx 14rpx 0 0;
}
.photo-wrapper {
position: relative;
bottom: 12rpx;
left: 0rpx;
width: 264rpx;
/* height: 284rpx; */
height: 568rpx;
overflow: hidden;
}
.photo {
position: relative;
bottom: 0rpx;
left: 0rpx;
width: 240rpx;
height: 240rpx;
background-color: rgb(255, 255, 255);
border-style: solid;
border-color: rgb(230, 230, 230);
border-width: 12rpx 12rpx 32rpx 12rpx;
box-shadow: 0 4rpx 6rpx rgba(0, 0, 0, 0.2);
overflow: hidden;
z-index: 2;
transform: translateY(-105%);
animation: reveal 10s infinite ease-out;
}
@keyframes reveal {
0%, 20% {
transform: translateY(-105%);
}
30% {
transform: translateY(0%);
opacity: 1;
}
85% {
transform: translateY(0%);
opacity: 1;
}
95% {
transform: translateY(100%);
opacity: 0;
}
100% {
opacity: 0;
transform: translateY(-105%);
}
}
.photo-inner {
position: relative;
width: 100%;
height: 100%;
background-color: #FEFDE2;
filter: blur(10rpx) brightness(0%) saturate(0%);
animation: showphoto 10s infinite ease-out;
}
@keyframes showphoto {
0%, 25% {
filter: blur(10rpx) brightness(0%) saturate(0%);
}
35%, 90% {
filter: blur(0rpx) brightness(100%) saturate(100%);
}
100% {
filter: blur(10rpx) brightness(0%) saturate(0%);
}
}
.photo-image {
width: 100%;
height: 100%;
}
/* .lens-outer{
width: 80rpx;
height: 80rpx;
border-radius: 50%;
margin: 50rpx 0 0 50rpx;
position: relative;
background: -moz-radial-gradient(83% 83%, circle closest-side, #c0b9c0, #968d9a 35%, #495057);
background: -webkit-radial-gradient(83% 83%, circle closest-side, #c0b9c0, #968d9a 35%, #495057);
background: -o-radial-gradient(83% 83%, circle closest-side, #c0b9c0, #968d9a 35%, #495057);
background: -ms-radial-gradient(83% 83%, circle closest-side, #c0b9c0, #968d9a 35%, #495057);
}
.lens-outer::before{
content: "";
display: block;
width: 68rpx;
height: 68rpx;
position: absolute;
top: 6rpx;
left: 6rpx;
border-radius: 50%;
background-color: #351c3c;
background-image: -webkit-linear-gradient(-45deg, #112b3c, #351c3c 70%);
background-image: -moz-linear-gradient(-45deg, #112b3c, #351c3c 70%);
background-image: -ms-linear-gradient(-45deg, #112b3c, #351c3c 70%);
background-image: -o-linear-gradient(-45deg, #112b3c, #351c3c 70%);
box-shadow: 0 0 0 2rpx #111d29;
}
.lens-outer::after{
content: "";
display: block;
width: 48rpx;
height: 48rpx;
position: absolute;
top: 16rpx;
left: 16rpx;
border-radius: 50%;
background-color: #150619;
background-image: -webkit-linear-gradient(-45deg, #0a2035, #17081b 70%);
background-image: -moz-linear-gradient(-45deg, #0a2035, #17081b 70%);
background-image: -ms-linear-gradient(-45deg, #0a2035, #17081b 70%);
background-image: -o-linear-gradient(-45deg, #0a2035, #17081b 70%);
box-shadow: 0 0 0 2rpx #393745;
}
.lens-inner{
width: 24rpx;
height: 24rpx;
border-radius: 50%;
background: #000;
position: absolute;
top: 76rpx;
left: 76rpx;
border: 2rpx solid #221f27;
}
.lens-inner::before{
content: "";
display: block;
width: 66rpx;
height: 66rpx;
border-radius: 50%;
position: absolute;
top: -20rpx;
left: -20rpx;
-webkit-transform: rotate(45deg);
-o-transform: rotate(45deg);
-moz-transform: rotate(45deg);
transform: rotate(45deg);
box-shadow: inset -6rpx 0 6rpx -4rpx #7c4c88;
}
.leaf {
width: 176rpx;
height: 176rpx;
position: absolute;
border-radius: 0 0 72rpx 104rpx/0 0 24rpx 40rpx;
}
.a{
bottom: 40rpx;
right: 10rpx;
box-shadow: 0 2rpx 0 #4c2f4d, -64rpx 24rpx 32rpx #442149, 0 80rpx 0 #7a21a3,inset 0 -2rpx 2rpx #200526;
}
.a::before {
content: "";
display: block;
width: 176rpx;
height: 176rpx;
position: absolute;
border-radius: 0 0 72rpx 104rpx/0 0 24rpx 40rpx;
bottom: -32rpx;
right: 32rpx;
box-shadow: 24rpx 16rpx 24rpx #5d206e, 0 80rpx 0 #9731c5,inset 0 -2rpx 2rpx #200526;
-webkit-transform: rotate(300deg);
-o-transform: rotate(300deg);
-moz-transform: rotate(300deg);
transform: rotate(300deg);
}
.a::after {
content: "";
display: block;
width: 176rpx;
height: 176rpx;
position: absolute;
border-radius: 0 0 72rpx 104rpx/0 0 24rpx 40rpx;
bottom: -72rpx;
right: 16rpx;
box-shadow: 64rpx 40rpx 40rpx #361d3b, 0 80rpx 0 #8829b7,inset 0 -2rpx 2rpx #200526;
-webkit-transform: rotate(240deg);
-o-transform: rotate(240deg);
-moz-transform: rotate(240deg);
transform: rotate(240deg);
}
.b{
bottom: -36rpx;
right: -6rpx;
-webkit-transform: rotate(180deg);
-o-transform: rotate(180deg);
-moz-transform: rotate(180deg);
transform: rotate(180deg);
box-shadow: 80rpx 56rpx 48rpx #1e618b, 0 80rpx 0 #522162,inset 0 -2rpx 2rpx #200526;
}
.b::before {
content: "";
display: block;
width: 176rpx;
height: 176rpx;
position: absolute;
border-radius: 0 0 72rpx 104rpx/0 0 24rpx 40rpx;
bottom: -32rpx;
right: 32rpx;
-webkit-transform: rotate(-60deg);
-o-transform: rotate(-60deg);
-moz-transform: rotate(-60deg);
transform: rotate(-60deg);
clip: rect(0em, 144rpx, 344.88rpx, 0em);
box-shadow: 44rpx 80rpx 32rpx #256186, 0 80rpx 0 #2f3241,inset 0 -2rpx 2rpx #200526;
}
.b::after{
content: "";
display: block;
width: 176rpx;
height: 176rpx;
position: absolute;
border-radius: 0 0 72rpx 104rpx/0 0 24rpx 40rpx;
bottom: -68rpx;
right: 18rpx;
-webkit-transform: rotate(-120deg);
-o-transform: rotate(-120deg);
-moz-transform: rotate(-120deg);
transform: rotate(-120deg);
clip: rect(0em, 144rpx, 344.88rpx, 0em);
box-shadow: -5rpx 0em 5.8rpx #4a7693,-88rpx 16rpx 40rpx #1e618b, 0 80rpx 0 #411e46,inset 0 -2rpx 2rpx #200526;
}
.c{
bottom: 40rpx;
right: 8rpx;
clip: rect(0em, 80rpx, 344.88rpx, 0em);
box-shadow: 0 2rpx 0 #4c2f4d, -24rpx 20rpx 32rpx #442149, 0 80rpx 0 #7a21a3,inset 0 -2rpx 2rpx #200526;
} */
.card-wrapper{
position: absolute;
top: 10%;
left: 10%;
width: 80%;
height: 80%;
flex-shrink: 0;
}
.card-normal {
background: transparent;
box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4);
display: flex;
flex-direction: column;
justify-content: space-between;
padding: 0;
color: white;
z-index: 2;
position: relative;
overflow: hidden;
top: 0;
left: 0;
width: 100%;
height: 100%;
/* clip-path: inset(0 0 30% 0); */
}
.card-image {
width: 100%;
height: 100%;
object-fit: cover;
transition: all 0.3s ease;
filter: brightness(1.1) contrast(1.1);
box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.1);
}
.card-ascii {
background: transparent;
z-index: 1;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
overflow: hidden;
}
.ascii-content {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
font-size: 36rpx;
overflow: hidden;
white-space: pre;
animation: glitch 0.1s infinite linear alternate-reverse;
margin: 0;
padding: 0;
text-align: left;
vertical-align: top;
box-sizing: border-box;
clip-path: inset(70% 0 0 0);
/* mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.8) 30%, rgba(0, 0, 0, 0.6) 50%, rgba(0, 0, 0, 0.4) 80%, rgba(0, 0, 0, 0.2) 100%); */
mask-image: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.8) 30%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0.4) 80%, rgba(255, 255, 255, 0.2) 100%);
background: linear-gradient(#eee, #ccc);
}
/* .scanner {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 4rpx;
background: linear-gradient(90deg, transparent, #74b9ff, transparent);
box-shadow: 0 0 16rpx #74b9ff, 0 0 60px #74b9ff;
border-radius: 8rpx;
opacity: 0;
transition: transform 0s linear, opacity 0.3s ease;
animation: scan-animation 3s linear infinite;
background: linear-gradient(180deg, transparent 89%, rgba(0, 255, 255, 0.5) 1%, transparent);
border-radius: 20rpx;
animation: scan-animation 5s infinite;
background-size: 200% 200%;
box-shadow: inset 0 0px 15rpx 1rpx cyan;
z-index: 3;
}
@keyframes scan-animation {
0%, 100% {
top: 0%;
opacity: 0.9;
}
50% {
top: 100%;
opacity: 0.9;
}
} */
.aurora-wrapper {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0.9;
background: #272727;
}
.aurora{
position: absolute;
top: 300px;
width: 50vw;
height: 50px;
background: #D5D8FF;
filter: blur(40px);
border-radius: 50%;
animation-name: aurora-float;
animation-iteration-count: infinite;
animation-timing-function: ease-in-out;
/* transform: translate(20%, 0); */
}
.aurora:nth-child(1) {
background: #D5A3E5;
}
.aurora:nth-child(2) {
background: #FDB5F0;
}
.aurora:nth-child(3) {
background: #F5838E;
}
.aurora:nth-child(4) {
background: #F0D9B6;
}
@keyframes aurora-float {
0% { transform: translateX(10vw) scale(1.2); }
50% { transform: translateX(32vw) scale(1.4); }
100% { transform: translateX(10vw) scale(1.2); }
}