page { background-color: #FFFFFF; height: 100%; } .container { height: 100%; display: flex; flex-direction: column; padding: 0 80rpx; overflow: hidden; position: relative; } /* 水墨动画遮罩 */ .ink-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 100; opacity: 0; visibility: hidden; overflow: hidden; background: transparent; } .ink-overlay.active { opacity: 1; visibility: visible; } .ink-circle { position: absolute; top: 50%; left: 50%; width: 0; height: 0; background-color: #000000; border-radius: 50%; transform: translate(-50%, -50%); } .ink-overlay.active .ink-circle { animation: inkSpread 1.8s cubic-bezier(0.25, 0.1, 0.25, 1) forwards; } @keyframes inkSpread { 0% { width: 0; height: 0; opacity: 1; } 100% { width: 350vmax; height: 350vmax; opacity: 1; } } .content { margin-top: 30vh; display: flex; flex-direction: column; align-items: center; animation: contentFadeIn 1.5s cubic-bezier(0.19, 1, 0.22, 1); transition: opacity 0.5s ease; } .content.fade-out { opacity: 0; } .title { font-family: "Noto Serif SC", serif; font-size: 80rpx; color: #2D2D2D; letter-spacing: 24rpx; font-weight: 300; margin-bottom: 20rpx; padding-left: 24rpx; } .subtitle { font-size: 22rpx; color: #D0D0D0; letter-spacing: 6rpx; margin-bottom: 80rpx; } /* 模式选择器 */ .mode-selector { display: flex; flex-direction: row; justify-content: center; margin-bottom: 60rpx; gap: 60rpx; } .mode-item { font-size: 24rpx; color: #B0B0B0; letter-spacing: 4rpx; padding: 10rpx 0; position: relative; transition: all 0.3s ease; } .mode-item.active { color: #2D2D2D; } .mode-dot { position: absolute; bottom: -4rpx; left: 50%; transform: translateX(-50%); width: 6rpx; height: 6rpx; background-color: #2D2D2D; border-radius: 50%; } /* 姓氏输入 */ .surname-section { width: 100%; margin-bottom: 40rpx; } .surname-input { width: 100%; height: 80rpx; text-align: center; font-size: 32rpx; color: #4A4A4A; letter-spacing: 4rpx; } /* 关键词输入 */ .input-section { width: 100%; margin-bottom: 60rpx; } .keyword-input { width: 100%; height: 80rpx; text-align: center; font-size: 30rpx; color: #4A4A4A; letter-spacing: 2rpx; } .placeholder { color: #E0E0E0; font-weight: 200; } .line { width: 40rpx; height: 1rpx; background-color: #F0F0F0; margin: 10rpx auto 0; transition: width 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); } .surname-section:focus-within .line, .input-section:focus-within .line { width: 80rpx; background-color: #2D2D2D; } .action-section { width: 100%; display: flex; justify-content: center; margin-top: 40rpx; } /* 全黑背景、无圆角、加宽字间距的按钮 */ .generate-btn { background-color: #1a1a1a !important; color: #ffffff !important; font-size: 24rpx !important; font-weight: 300 !important; padding: 24rpx 80rpx !important; letter-spacing: 16rpx !important; text-indent: 16rpx !important; transition: all 0.3s ease; border: none !important; border-radius: 0 !important; } .generate-btn::after { border: none !important; } .generate-btn:active { background-color: #333333 !important; transform: scale(0.98); } .footer { position: absolute; bottom: 80rpx; left: 0; right: 0; text-align: center; animation: footerFadeIn 3s ease-in; transition: opacity 0.5s ease; } .footer.fade-out { opacity: 0; } .footer text { font-size: 16rpx; color: #F0F0F0; letter-spacing: 4rpx; } @keyframes contentFadeIn { from { opacity: 0; transform: translateY(20rpx); } to { opacity: 1; transform: translateY(0); } } @keyframes footerFadeIn { 0% { opacity: 0; } 70% { opacity: 0; } 100% { opacity: 1; } } /* 灵感广场入口 */ .square-entry { position: fixed; bottom: 140rpx; left: 0; right: 0; display: flex; align-items: center; justify-content: center; padding: 20rpx 40rpx; opacity: 0.5; transition: opacity 0.3s ease; z-index: 10; } .square-entry:active { opacity: 0.8; } .square-entry.fade-out { opacity: 0; } .entry-text { font-size: 24rpx; color: #888888; letter-spacing: 4rpx; font-family: "Noto Serif SC", serif; } .entry-arrow { width: 10rpx; height: 10rpx; border-right: 1rpx solid #888888; border-top: 1rpx solid #888888; transform: rotate(45deg); margin-left: 10rpx; }