.feedback-page { padding-top: 48rpx; } .feedback-form { margin-top: 30rpx; padding: 0; } .feedback-field, .content-field { padding: 24rpx; background: transparent; } .feedback-field .form-label, .feedback-field .form-value { display: block; } .feedback-field .form-value { margin-top: 10rpx; color: #1c1c1e; font-size: 30rpx; line-height: 1.35; } .feedback-field + .feedback-field, .content-field { margin-top: 0; border-top: 1rpx solid #e5e5ea; } .content-label-row, .profiles-hint { display: flex; align-items: center; justify-content: space-between; gap: 20rpx; } .content-count { color: #8e8e93; font-size: 23rpx; } .feedback-textarea { width: 100%; min-height: 280rpx; margin-top: 16rpx; padding: 18rpx; border-radius: 12rpx; background: #f1f3f6; color: #1c1c1e; font-size: 28rpx; line-height: 1.65; } .voice-input-row { display: flex; flex-direction: column; align-items: stretch; gap: 12rpx; margin-top: 20rpx; } .voice-button { display: flex; align-self: stretch; align-items: center; justify-content: center; gap: 12rpx; width: 100%; min-width: 100%; max-width: 100%; height: 84rpx; margin: 0; padding: 0 20rpx; border: 0; border-radius: 12rpx; background: #eaf3ff; color: #007aff; font-size: 26rpx; font-weight: 600; line-height: 1; transition: transform 140ms cubic-bezier(0.23, 1, 0.32, 1); transform-origin: center; } .voice-button::after { border: 0; } .voice-button[disabled] { background: #f1f3f6; color: #aeaeb2; opacity: 1; } .voice-button-recording, .voice-button-recording[disabled] { background: #fff0f0; color: #d13f3a; } .voice-button:active { transform: scale(0.98); background: #dcecff; } .voice-button-recording:active { background: #ffe2e1; } .voice-button-icon { font-size: 20rpx; line-height: 1; } .voice-state { display: flex; width: 100%; min-height: 40rpx; align-items: center; justify-content: space-between; min-width: 0; color: #6e6e73; font-size: 24rpx; } .voice-status { flex: 1; overflow: visible; line-height: 1.45; white-space: normal; word-break: break-all; } .voice-state-actionable { min-height: 64rpx; padding: 14rpx 16rpx; border: 1rpx solid #e5e5ea; border-radius: 12rpx; background: #f7f7f8; transition: transform 140ms cubic-bezier(0.23, 1, 0.32, 1); } .voice-state-actionable:active { transform: scale(0.99); background: #ededf0; } .voice-state-arrow { flex: none; margin-left: 10rpx; color: #8e8e93; font-size: 38rpx; line-height: 1; } .recording-time { flex: none; margin-left: 12rpx; color: #d13f3a; font-variant-numeric: tabular-nums; } .save-feedback { width: calc(100% - 48rpx); min-width: calc(100% - 48rpx); max-width: calc(100% - 48rpx); margin: 20rpx 24rpx 24rpx; } .profiles-hint { margin-top: 22rpx; padding: 20rpx 22rpx; border: 1rpx solid #d1e3fb; border-radius: 12rpx; background: #f7fbff; color: #6e6e73; font-size: 24rpx; line-height: 1.45; } @media (prefers-reduced-motion: reduce) { .voice-button, .voice-state-actionable { transition: none; } .voice-button:active, .voice-state-actionable:active { transform: none; } }