/* 播放器 — 暖棕沉浸主题 */ ::-webkit-scrollbar { display: none !important; } .player-page { height: 100vh; background: #1A1208; display: flex; flex-direction: column; position: relative; overflow: hidden; } /* 环境光 */ .bg-glow { position: absolute; top: 0; left: 0; right: 0; height: 60vh; pointer-events: none; z-index: 0; } /* ── 顶部栏 ── */ .top-bar { display: flex; align-items: center; padding: 16rpx 32rpx 12rpx; position: relative; z-index: 10; } .top-btn { width: 72rpx; height: 72rpx; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255,255,255,0.06); flex-shrink: 0; } .top-back { font-size: 48rpx; color: rgba(255,240,210,0.9); font-weight: 300; line-height: 1; margin-top: -4rpx; } .top-share { font-size: 32rpx; color: rgba(255,220,160,0.6); font-weight: 600; } .top-title-wrap { flex: 1; text-align: center; overflow: hidden; padding: 0 16rpx; } .top-label { display: block; font-size: 18rpx; color: rgba(255,200,120,0.45); letter-spacing: 2rpx; margin-bottom: 6rpx; } .top-title { display: block; font-size: 26rpx; font-weight: 700; color: rgba(255,240,210,0.95); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } /* ── 中央 Banner ── */ .banner-area { flex: 1; display: flex; align-items: center; justify-content: center; position: relative; z-index: 10; padding: 0 40rpx; } .banner-cover, .banner-transcript { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; transition: opacity 0.35s ease, transform 0.35s ease; opacity: 1; transform: scale(1); } .banner-hidden { opacity: 0; transform: scale(0.96); pointer-events: none; } /* ── 涟漪声波 ── */ .ripple-wrap { position: absolute; width: 300rpx; height: 300rpx; display: flex; align-items: center; justify-content: center; } .ripple-ring { position: absolute; width: 220rpx; height: 220rpx; border-radius: 50%; border: 2rpx solid rgba(255, 157, 66, 0.5); animation: ripple-out 2.1s ease-out infinite; } @keyframes ripple-out { 0% { transform: scale(0.6); opacity: 0.8; } 100% { transform: scale(2.4); opacity: 0; } } /* ── 大 Emoji(无卡片背景) ── */ .cover-emoji { font-size: 180rpx; position: relative; z-index: 2; transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1); transform: scale(0.9); filter: drop-shadow(0 20rpx 40rpx rgba(0,0,0,0.5)); } .cover-emoji.emoji-active { transform: scale(1.05); } .cover-channel { font-size: 22rpx; font-weight: 600; color: rgba(255,200,120,0.45); letter-spacing: 2rpx; margin-top: 24rpx; position: relative; z-index: 2; } /* 提示文字 */ .banner-hint { display: block; margin-top: 20rpx; font-size: 20rpx; color: rgba(255,200,120,0.3); letter-spacing: 1rpx; position: relative; z-index: 2; } /* ── 文案视图 ── */ .banner-transcript { padding: 24rpx 48rpx 16rpx; flex-direction: column; } .transcript-scroll { flex: 1; width: 100%; max-height: 480rpx; background: rgba(255,200,120,0.05); border-radius: 32rpx; border: 1rpx solid rgba(255,200,120,0.12); padding: 32rpx; box-sizing: border-box; } .transcript-content { font-size: 28rpx; line-height: 1.95; color: rgba(255,240,210,0.8); white-space: pre-wrap; } .transcript-empty { display: flex; flex-direction: column; align-items: center; padding: 40rpx 0; } .transcript-empty-icon { font-size: 60rpx; } .transcript-empty-text { font-size: 24rpx; color: rgba(255,200,120,0.4); margin-top: 12rpx; } /* 日期 + like 同行 */ .date-like-row { display: flex; align-items: center; justify-content: space-between; padding: 0 48rpx; margin-bottom: 4rpx; position: relative; z-index: 10; } .date-text { font-size: 22rpx; color: rgba(255,200,120,0.4); letter-spacing: 1rpx; } .like-btn-inline { display: flex; align-items: center; justify-content: center; padding: 4rpx 0; } .like-icon { font-size: 40rpx; color: rgba(255,200,120,0.55); } /* ── 进度条 + like 浮动 ── */ .progress-section { padding: 0 48rpx; margin-bottom: 16rpx; position: relative; z-index: 10; } /* like 按钮已内联至 time-row,旧绝对定位样式已移除 */ .progress-slider { margin: 0; } .time-row { display: flex; justify-content: space-between; align-items: center; margin-top: 8rpx; } .time-text { font-size: 22rpx; color: rgba(255,200,120,0.4); font-family: 'Menlo', 'SF Mono', monospace; font-weight: 600; } /* like 按鈕内联在时间行中间 */ .like-btn-inline { display: flex; align-items: center; justify-content: center; padding: 4rpx 16rpx; } .like-icon { font-size: 40rpx; color: rgba(255,200,120,0.55); } /* ── 控制区 ── */ .controls-row { display: flex; align-items: center; justify-content: center; gap: 64rpx; padding: 16rpx 48rpx 64rpx; position: relative; z-index: 10; } .skip-btn { width: 96rpx; height: 96rpx; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; } .skip-arrow { font-size: 76rpx; color: rgba(255,220,160,0.8); line-height: 1; } .skip-sec { position: absolute; font-size: 19rpx; font-weight: 800; color: rgba(255,220,160,0.8); top: 50%; left: 50%; transform: translate(-50%, -46%); letter-spacing: -1rpx; } .play-btn { width: 136rpx; height: 136rpx; border-radius: 50%; background: #FF9D42; display: flex; align-items: center; justify-content: center; box-shadow: 0 16rpx 48rpx rgba(255, 157, 66, 0.5), 0 0 0 12rpx rgba(255, 157, 66, 0.15); transition: transform 0.15s, box-shadow 0.15s; } .play-btn:active { transform: scale(0.92); box-shadow: 0 8rpx 24rpx rgba(255, 157, 66, 0.4), 0 0 0 8rpx rgba(255, 157, 66, 0.1); } .play-tri { font-size: 52rpx; color: #FFF8EE; margin-left: 8rpx; line-height: 1; } .pause-group { display: flex; gap: 12rpx; align-items: center; } .pause-bar { width: 10rpx; height: 44rpx; background: #FFF8EE; border-radius: 5rpx; }