page { background-color: #FFFFFF; height: 100%; } .container { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; } .card-stack { position: relative; width: 70vw; height: 100vw; z-index: 1; } .card-container { position: absolute; width: 100%; height: 100%; } .card { width: 100%; height: 100%; position: relative; box-shadow: 0 20px 60px rgba(0,0,0,0.04); border: 1px solid #F0F0F0; border-radius: 8rpx; background: white; transform-style: preserve-3d; transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1); } .card-face { position: absolute; width: 100%; height: 100%; backface-visibility: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60rpx; box-sizing: border-box; border-radius: 8rpx; } .front { transform: rotateY(0deg); } .back { transform: rotateY(180deg); } .card.flipped .front { transform: rotateY(-180deg); } .card.flipped .back { transform: rotateY(0deg); } .front .name { font-family: "Noto Serif SC", "Source Han Serif SC", "PingFang SC", serif; font-size: 140rpx; color: #2D2D2D; margin-bottom: 60rpx; font-weight: 300; letter-spacing: 10rpx; text-align: center; } .poem-container { height: 350rpx; display: flex; align-items: center; justify-content: center; } .front .poem { font-size: 26rpx; color: #A0A0A0; letter-spacing: 12rpx; writing-mode: vertical-rl; line-height: 1.5; text-align: center; } .back { transform: rotateY(180deg); display: flex; flex-direction: column; justify-content: space-between !important; padding: 80rpx 60rpx !important; } .desc-container { flex: 1; display: flex; align-items: center; } .back .desc { font-size: 28rpx; color: #4A4A4A; line-height: 2.2; text-align: justify; letter-spacing: 2rpx; } .analysis-container { margin-top: 40rpx; display: flex; flex-direction: column; align-items: flex-end; border-top: 1rpx solid #F0F0F0; padding-top: 30rpx; } .tone-tag, .score-tag { font-size: 18rpx; color: #D0D0D0; letter-spacing: 2rpx; margin-bottom: 10rpx; } .save-btn { margin-top: 20rpx; display: flex; align-items: center; font-size: 16rpx; color: #A0A0A0; border: 1rpx solid #F0F0F0; padding: 8rpx 20rpx; border-radius: 40rpx; letter-spacing: 2rpx; transition: all 0.2s; } .save-btn:active { background: #FAFAFA; transform: scale(0.95); } .save-icon { margin-right: 8rpx; font-size: 14rpx; } /* 退出动画 */ .card-exit-left { transform: translate3d(-150%, 0, 0) rotate(-20deg) !important; opacity: 0 !important; transition: all 0.5s ease-in !important; } .card-exit-right { transform: translate3d(150%, 0, 0) rotate(20deg) !important; opacity: 0 !important; transition: all 0.5s ease-in !important; } .footer { margin-top: 100rpx; } .hint { font-size: 22rpx; color: #D0D0D0; letter-spacing: 4rpx; } /* 收藏锦囊 */ .collection-bag { position: fixed; right: 60rpx; bottom: 120rpx; width: 100rpx; height: 100rpx; background-color: #FFFFFF; border-radius: 50%; box-shadow: 0 10rpx 40rpx rgba(0,0,0,0.08); display: flex; justify-content: center; align-items: center; flex-direction: column; z-index: 10; transition: transform 0.2s; } .collection-bag:active { transform: scale(0.9); } .bag-icon { font-family: "Noto Serif SC", serif; font-size: 40rpx; color: #4A4A4A; } .collection-count { position: absolute; top: 0; right: 0; background-color: #B22222; color: white; font-size: 18rpx; border-radius: 50%; padding: 4rpx 10rpx; min-width: 18rpx; text-align: center; } /* 收藏列表 */ .collection-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(255, 255, 255, 0.5); backdrop-filter: blur(20px); z-index: 20; opacity: 0; visibility: hidden; transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); } .collection-overlay.visible { opacity: 1; visibility: visible; } .collection-content { position: absolute; bottom: 0; left: 0; width: 100%; height: 60vh; background-color: rgba(255, 255, 255, 0.8); border-top-left-radius: 40rpx; border-top-right-radius: 40rpx; box-shadow: 0 -10rpx 60rpx rgba(0,0,0,0.05); transform: translateY(100%); transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); } .collection-overlay.visible .collection-content { transform: translateY(0); } .collection-title { text-align: center; padding: 40rpx 0; font-size: 24rpx; color: #A0A0A0; letter-spacing: 4rpx; border-bottom: 1rpx solid #F0F0F0; } .collection-scroll { height: calc(100% - 110rpx); } .collection-item { display: flex; justify-content: space-between; align-items: center; padding: 30rpx 60rpx; border-bottom: 1rpx solid #F0F0F0; } .item-name { font-family: "Noto Serif SC", serif; font-size: 32rpx; color: #2D2D2D; margin-bottom: 4rpx; } .item-origin { font-size: 20rpx; color: #A0A0A0; font-weight: 200; } .delete-btn { font-size: 40rpx; color: #E0E0E0; font-weight: 200; padding: 10rpx 20rpx; border-radius: 50%; transition: all 0.2s; } .delete-btn:active { background-color: #F0F0F0; color: #B22222; } .collection-empty { text-align: center; padding: 100rpx; font-size: 24rpx; color: #E0E0E0; }