.match-page { padding: 24rpx; min-height: 100vh; box-sizing: border-box; background: linear-gradient(180deg, #fff8f4 0%, #f6f7fb 100%); display: flex; flex-direction: column; } .match-page-activity { padding-top: 20rpx; } .activity-mode-panel { margin-bottom: 24rpx; padding: 28rpx 28rpx 24rpx; border-radius: 30rpx; background: linear-gradient(180deg, #fff3eb 0%, #ffffff 100%); box-shadow: 0 16rpx 40rpx rgba(232, 89, 60, 0.08); border: 1rpx solid rgba(232, 89, 60, 0.08); } .activity-mode-pill { display: inline-flex; align-items: center; padding: 8rpx 18rpx; border-radius: 999rpx; background: rgba(232, 89, 60, 0.1); color: #d95c3d; font-size: 22rpx; font-weight: 600; } .activity-mode-title { margin-top: 14rpx; font-size: 38rpx; font-weight: 700; color: #2f1b16; } .activity-mode-desc { margin-top: 10rpx; color: #7d655d; line-height: 1.6; font-size: 24rpx; } .activity-mode-meta { display: flex; flex-wrap: wrap; gap: 12rpx; margin-top: 18rpx; } .activity-mode-meta-item { padding: 10rpx 16rpx; border-radius: 999rpx; background: #fff8f5; color: #a06a5d; font-size: 22rpx; } .activity-mode-actions { display: flex; justify-content: flex-end; margin-top: 18rpx; } .activity-mode-btn { padding: 0 26rpx; font-size: 24rpx; } .hero-box { display: flex; align-items: center; justify-content: space-between; gap: 24rpx; margin-bottom: 24rpx; padding: 28rpx; border-radius: 28rpx; background: linear-gradient(135deg, #fff2ec, #ffffff); } .swipe-tip { margin: 4rpx 8rpx 10rpx; color: #9d7e74; font-size: 24rpx; } .match-page-activity .swipe-tip, .match-page-activity .ai-status { display: none; } .ai-status { margin: 0 8rpx 24rpx; color: #b07a69; font-size: 22rpx; } .ai-btn-loading { opacity: 0.72; } .activity-banner + .activity-banner { margin-top: -12rpx; } .secondary-banner { background: #fffaf7; color: #a06a5d; } .ai-status text { color: #d95c3d; } .hero-title { font-size: 38rpx; font-weight: 700; color: #2f1b16; } .hero-desc { margin-top: 12rpx; color: #7d655d; line-height: 1.6; } .ai-btn { border-radius: 999rpx; background: linear-gradient(90deg, #ff9566, #e8593c); color: #ffffff; white-space: nowrap; } .quick-actions { display: flex; justify-content: flex-end; margin: -6rpx 0 20rpx; } .quick-btn { padding: 0 26rpx; font-size: 24rpx; } .deck-area { position: relative; flex: 1; min-height: 0; padding-top: 20rpx; padding-bottom: 12rpx; display: flex; flex-direction: column; } .match-card { overflow: hidden; background: #ffffff; border-radius: 34rpx; box-shadow: 0 24rpx 56rpx rgba(20, 28, 40, 0.12); width: 100%; } .match-card-shadow { position: absolute; top: 30rpx; left: 20rpx; right: 20rpx; transform: scale(0.965); opacity: 0.58; transition: transform 0.22s ease, top 0.22s ease, opacity 0.22s ease; } .match-card-shadow-active { top: 18rpx; transform: scale(0.982); opacity: 0.72; } .match-card-active { position: relative; z-index: 2; transition: transform 0.18s ease; } .match-card-active, .match-card-shadow { width: 100%; } .match-card-moving { transition: none; } .card-exit-like { transform: translateX(110vw) rotate(20deg) !important; opacity: 0; transition: transform 0.22s ease, opacity 0.22s ease !important; } .card-exit-skip { transform: translateX(-110vw) rotate(-20deg) !important; opacity: 0; transition: transform 0.22s ease, opacity 0.22s ease !important; } .swipe-badge { position: absolute; top: 34rpx; z-index: 3; padding: 12rpx 24rpx; border-radius: 999rpx; font-size: 28rpx; font-weight: 700; } .swipe-badge-like { right: 24rpx; background: rgba(16, 185, 129, 0.14); color: #059669; } .swipe-badge-skip { left: 24rpx; background: rgba(239, 68, 68, 0.14); color: #dc2626; } .match-cover { position: relative; height: 640rpx; flex-shrink: 0; } .deck-area .match-card-active { display: flex; flex-direction: column; min-height: 0; } .card-main { flex: 1; display: flex; flex-direction: column; justify-content: space-between; min-height: 0; } .card-main-header { flex-shrink: 0; } .card-main-body { flex: 1; min-height: 0; display: flex; flex-direction: column; justify-content: center; } .card-summary { margin-top: 6rpx; } .card-summary-name { font-size: 36rpx; font-weight: 700; color: #2f1b16; } .card-summary-meta { margin-top: 6rpx; color: #9d7e74; font-size: 24rpx; } .card-empty-state { margin-top: 20rpx; padding: 22rpx 20rpx; border-radius: 18rpx; background: #fff8f5; color: #a06a5d; line-height: 1.7; text-align: center; } .shadow-cover { opacity: 0.9; } .cover-image { width: 100%; height: 100%; background: #f0f0f0; } .avatar-placeholder { display: flex; align-items: center; justify-content: center; color: #999999; } .cover-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; padding: 32rpx; background: linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(20, 16, 18, 0.72)); } .cover-top { display: flex; justify-content: flex-end; } .score-bar-wrap { margin-top: 12rpx; } .score-bar-track { width: 100%; height: 10rpx; border-radius: 999rpx; background: rgba(255, 255, 255, 0.26); overflow: hidden; } .score-bar-fill { height: 100%; border-radius: 999rpx; background: rgba(255, 255, 255, 0.75); } .score-bar-fill--high { background: linear-gradient(90deg, #34d399, #10b981); } .score-bar-fill--mid { background: linear-gradient(90deg, #fde68a, #f59e0b); } .score-bar-fill--low { background: linear-gradient(90deg, #fda4af, #ef4444); } .score-bar-meta { margin-top: 8rpx; display: flex; justify-content: space-between; color: rgba(255, 255, 255, 0.82); font-size: 20rpx; } .score-chip { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; min-width: 116rpx; padding: 12rpx 18rpx; border-radius: 999rpx; background: rgba(255, 255, 255, 0.16); color: #ffffff; } .score-chip--high { background: rgba(16, 185, 129, 0.18); } .score-chip--mid { background: rgba(255, 255, 255, 0.16); } .score-chip--low { background: rgba(239, 68, 68, 0.18); } .score-chip-value { font-size: 32rpx; font-weight: 700; line-height: 1.1; } .score-chip-label { margin-top: 4rpx; font-size: 20rpx; opacity: 0.88; } .cover-bottom { color: #ffffff; } .card-main { padding: 28rpx 28rpx 32rpx; } .card-caption-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14rpx; } .card-caption-title { font-size: 24rpx; color: #9b7668; } .card-caption-status { font-size: 22rpx; color: #d95c3d; } .name-row, .sheet { display: flex; } .name-row { align-items: center; justify-content: space-between; } .name { font-size: 42rpx; font-weight: 700; } .meta { margin-top: 12rpx; color: rgba(255, 255, 255, 0.92); font-size: 26rpx; } .reasons { margin-top: 20rpx; padding: 18rpx 20rpx; border-radius: 20rpx; background: #fff8f5; line-height: 1.6; } .card-main-body .reasons { flex-shrink: 0; } .reasons-title { font-size: 24rpx; color: #d06b52; margin-bottom: 8rpx; } .reasons-text { color: #6a5148; } .tags { display: flex; flex-wrap: wrap; gap: 14rpx; margin-top: 8rpx; } .card-main-body .tags { margin-top: 0; } .tag { padding: 10rpx 18rpx; border-radius: 999rpx; background: #fff1ee; color: #e8593c; font-size: 24rpx; } .primary-btn { background: #e8593c; color: #ffffff; border-radius: 999rpx; } .ghost-btn { background: #ffffff; color: #7d655d; border: 1rpx solid #ead8d1; border-radius: 999rpx; } .mask { position: fixed; inset: 0; display: flex; align-items: flex-end; background: rgba(0, 0, 0, 0.4); } .sheet { width: 100%; padding: 32rpx; background: #ffffff; border-radius: 32rpx 32rpx 0 0; display: block; } .sheet-title { font-size: 32rpx; font-weight: 600; margin-bottom: 20rpx; } .sheet-text { margin-bottom: 16rpx; color: #555555; } .sheet-reasons { margin: 12rpx 0 20rpx; padding: 18rpx; border-radius: 16rpx; background: #fff8f5; color: #6a5148; line-height: 1.6; } .empty-card { margin-top: 32rpx; padding: 56rpx 36rpx; border-radius: 28rpx; background: #ffffff; text-align: center; box-shadow: 0 16rpx 40rpx rgba(20, 28, 40, 0.06); } @media (max-height: 760px) { .match-cover { height: 560rpx; } } .empty-title { font-size: 34rpx; font-weight: 700; color: #2f1b16; } .empty-desc { margin-top: 14rpx; color: #7d655d; line-height: 1.7; } .success-mask { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; padding: 48rpx; background: rgba(12, 16, 24, 0.56); z-index: 20; } .success-card { width: 100%; padding: 48rpx 36rpx; border-radius: 32rpx; background: linear-gradient(160deg, #fff6f0, #ffffff 55%, #fff2ef); text-align: center; } .success-badge { display: inline-block; padding: 10rpx 20rpx; border-radius: 999rpx; background: rgba(232, 89, 60, 0.12); color: #d95c3d; font-size: 22rpx; letter-spacing: 2rpx; } .success-title { margin-top: 20rpx; font-size: 42rpx; font-weight: 700; color: #2f1b16; } .success-desc { margin: 18rpx 0 28rpx; color: #7d655d; line-height: 1.7; } .success-actions { display: flex; gap: 16rpx; } .success-actions button { flex: 1; } .success-ghost-btn { background: #fffaf7; }